RESUMEN Este artculo presenta las fases de anlisis, diseo, implementacin y validacin de un Sistema Multi-Agente para simular el proceso de negociacin del mercado de la energa Elctrica en Colombia. Este proyecto muestra las bondades que presentan los Sistemas Multi-Agente para modelar procesos de simulacin. Para el anlisis y diseo se emplea la metodologa MAS- CommonKADS que es una de las ms reconocidas para el modelado de sistemas Multi-Agente. Para efectos de este trabajo se toma la parte concerniente al proceso de negociacin entre agentes del mercado, representado en la compra y venta de energa entre los generadores, comercializadores y consumidores de energa. PALABRAS CLAVES:- Inteligencia Artificial Distribuida, Sistemas Multi-Agente, Simulacin, Metodologa MAS-CommonKADS, Ingeniera de Software Orientada a Agentes, Mercado de Energa Elctrica en Colombia. ABSTRACT The aim of this paper is describing the phases of analyzing, designing, building and validation of a Multi-Agent system to simulate the negotiation process of Colombian electric energy market. This project intent to exhibit advantages of Multi-Agent systems to model simulation processes. Analysis and design phases use MAS-CommonKADS methodology which is one of the well-known for agent-based system modeling. For this purpose, it is modeled the part of negotiation process among market human agents, which is representing by energy buying and selling among energy generators, commercial agents, and consumers. KEYWORDS: Distributed artificial intelligence, Multi-Agent systems, Simulation , MAS- CommonKADS methodology, Agent-oriented software engineering, Colombian Electricity Market. Simulacin basada en agentes inteligentes del proceso de negociacin del mercado de energa elctrica en Colombia 1,2 Mara Marcela Pastrana David 1,3 Jaime A. Guzmn Luna 1,4 Demetrio Arturo Ovalle Carranza 1 Grupo de Investigacin y Desarrollo en Inteligencia Artificial, Escuela de Si st emas Universidad Nacional de Colombia - Sede Medelln 2 mmpastra@unalmed.edu.co 3 jaguzman@unalmed.edu.co 4 doval l e@unal med. edu. co Recibido para evaluacin: 2 de Oct de 2004 Aceptacin: 9 de Nov de 2004 Entrega de versin final: 13 de Abril de 2005 Medelln, Julio de 2005, ISSN 0120-9833 26 Energtica 33 1. Introduccin Uno de los ms recientes logros adoptados en la Ingeniera de Software es el paradigma orientado a agentes, el cual se aplica en la representacin de sistemas distribuidos dando muy buenos resultados en dominios tales como: gestin del conocimiento, filtrado y recuperacin de informacin, comercio electrnico, entre otros (Arenas et al., 2003). Especficamente, en relacin al mercado elctrico existen diversas caractersticas de los agentes, tales como, su autonoma, habilidades sociales, inteligencia, entre otras que los hacen muy convenientes para la representacin de mercados de productos y servicios. En el contexto del mercado de la energa elctrica en Colombia, se conoce que existe una gran complejidad en su interior (Dyner et al., 2000) (Smith et al., 2000). Gran parte de esa complejidad se presenta en las actividades de compra y venta de energa. Por lo anterior, es posible ver en el mercado de la energa Elctrica en Colombia un contexto adecuado para la aplicacin de Sistemas Multi-Agente, mostrando las bondades que proporcionan las tecnologas de agentes inteligentes (Prez, 2000) (Ovalle & Prez, 2003). 2. La Metodologa MAS-CommonKADS La metodologa MAS-CommonKADS (Iglesias,1998) fue desarrollada como una extensin de la metodologa de ingeniera del conocimiento CommonKADS (Schreiber et al., 1994), agregando tcnicas de metodologas orientadas a objetos. En esta metodologa se proponen 7 modelos para el desarrollo de sistemas Multi-agentes, los cuales son: Modelo de Agente (MA): Especfica las caractersticas de un agente: sus capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupos de agentes a los que pertenece y clase de agente. Un agente puede ser un agente humano, software, o cualquier entidad capaz de emplear un lenguaje de comunicacin de agentes. Modelo de Organizacin (MO): Es una herramienta para analizar la organizacin humana en que el Sistema Multi- Agente va a ser introducido y para describir la organizacin de los agentes software y su relaci n con el entorno. Modelo de Tareas (MT): Describe las tareas que los agentes pueden realizar: los objetivos de cada tarea, su descomposicin, los ingredientes y los mtodos de resolucin de problemas para resolver cada objetivo. Modelo de la Experiencia (ME): Describe el conocimiento que necesitan los agentes para alcanzar sus objetivos. Sigue la descomposicin de CommonKADS (Schreiber et al., 1994) y reutiliza las bibliotecas de tareas genricas. Modelo de Comunicacin (MC): Describe las interacciones entre un agente humano y un agente software. Se centra en la consideracin de factores humanos para dicha interaccin. Modelo de Coordinacin (MCo): Describe las interacciones entre agentes de software. Modelo de Diseo (MD): Mientras que los otros cinco modelos tratan del anlisis del Sistema Multi-Agente, este modelo se utiliza para describir la arquitectura y el diseo del Sistema Multi-Agente como paso previo a su implementacin. La aplicacin de la metodologa se divide en 3 fases: Conceptualizacin, Anlisis y Diseo. Dentro de esas fases se construyen los correspondientes modelos que componen la metodologa MAS-CommonKADS. 3. Fase de Conceptualizacin La primera fase, llamada de Conceptualizacin consiste en la definicin y alcance del proyecto, lo que involucra todo un proceso de captura de requisitos del usuario o usuarios que intervienen en el sistema; sto conllevar a la elaboracin de un primer esquema basado en diagramas de casos de uso, que ayudarn a comprender claramente los procesos que se llevan a cabo, a detectar las interacciones con actores externos al sistema y a definir el alcance funcional del proyecto. Figura 1. Estructura del mercado elctrico en Colombia (ISA, 2002). Pastrana et al. Energtica 33 27 Medelln, Julio de 2005, ISSN 0120-9833 Para este proyecto se identificaron de forma general todos los actores involucrados, tratando de representar el mercado real y gran parte de sus interacciones, sin embargo, para la parte de la elaboracin del Sistema Multi-Agente slo se modelar una pequea porcin de las interacciones representadas en esta fase. En el Mercado de energa Mayorista en Colombia hay varios tipos de entidades involucradas: 1) Generadores, cuyo papel principal es vender energa en el mercado, bien sea en la Bolsa o a otros comercializadores en el largo plazo. Sin embargo, tambin pueden asumir el rol de compradores para protegerse de eventualidades que les impidan cumplir las obligaciones contradas con sus clientes a largo plazo, o estructurar portafolios para obtener ganancias de los movimientos de los precios en los mercados de corto y largo plazo, en cuyo caso actan como comercializadores. 2) Comercializadores, venden energa a otros agentes del Mercado o a los consumidores finales; la venta de energa puede realizarse de dos formas por medio de contratos bilaterales o transacciones en la Bolsa de Energa. Los contratos pueden ser de 2 categoras: Pague lo contratado: En los cuales el comercializador paga la cantidad estipulada en el contrato independiente de si lo consumi en su totalidad o no. En estos casos, en los que el contrato es mayor que la demanda la diferencia se transa en la bolsa al precio que rija en ese momento. Pague lo demandado: En los cuales el contrato se asigna como mximo hasta una cantidad especificada o tope. Este tipo de contratos se asignan despus de los contratos tipos pague lo contratado. 3) Transmisores, son las empresas propietarias de activos en el Sistema de Transmisin Nacional (STN) que operan a tensiones iguales o superiores a 220 kV. Son actores pasivos en el MEM, ya que tienen prohibido participar en la comercializacin o en la generacin de la energa en razn del monopolio de su actividad. 4) Distribuidores, son las empresas elctricas propietarias de redes de distribucin que operan a tensiones menores de 220kV. Tienen tarifas reguladas para cubrir los costos de su actividad econmica, al igual que los transmisores. En la actualidad todos los distribuidores son comercializadores en el MEM. 5) Clientes o consumidores, son los usuarios finales de la energa. Los usuarios finales se dividen en dos categoras: Usuarios regulados y usuarios no regulados. La diferencia entre estas categoras est en el manejo de los precios o tarifas que son aplicables a la venta de electricidad. Para los usuarios regulados, la tarifa es establecida por la CREG mediante una frmula tarifaria. Para los usuarios no regulados, los precios son libres y acordados entre las partes. En la Figura 1 se observa la estructura del mercado elctrico en Colombia, en la cual se identifican los diferentes actores involucrados. En la Figura 2 se ilustran algunos casos de uso identificados en el sistema y que estn relacionados con los procesos de comercializacin realizados por los diferentes actores del sistema. 4. Fase de Anlisis En esta fase se modela el Sistema Multi-Agente propuesto en este artculo, para lo cual se desarrollan uno a uno los modelos que define la metodologa MAS-CommonKADS. 4.1. Modelo del Agente El sistema Multi-Agente con el cual se pretende representar algunos de los comportamientos que hacen parte del mercado de la energa elctrica en Colombia, contendr los siguientes agentes: Agentes Generadores: Estos agentes representan a las plantas generadoras de energa, su funcin en el SMA es vender energa a los agentes comercializadores. Agentes Comercializadores: Los comercializadores, compran y venden energa entre s y con los generadores. Existen cierto grupo de comercializadores que se encargan tambin de satisfacer a los usuarios del Mercado; es decir, usuarios regulados y no regulados. Es por sto que se diferencia entre comercializadores y comercializadores puros. Agentes Consumidores: Estos agentes representan a los consumidores y son los que compran energa a los comercializadores para consumirla. Para este sistema se toma un agente consumidor que representar a todos los consumidores del mercado. Agente Facilitador o de Pginas Amarillas: Este agente es el que permite a los agentes ubicar a otros de acuerdo al servicio que proporcionan, es como un servicio de pginas amarillas, en donde cada agente se registra proporcionando su nombre y el servicio que es capaz de ofrecer. Figura 2. Casos de uso del Comercializador Pastrana et al. Medelln, Julio de 2005, ISSN 0120-9833 28 Energtica 33 La metodologa MAS-CommonKADS propone plantillas textuales para la descripcin de los agentes (Iglesias, 1998). En la Tabla 1 se presenta la plantilla para el agente Comercializador. e t n e g A r o d a z i l a i c r e m o C o p i T . e t n e g i l e t n i e r a w t f o s e t n e g A l e p a P . r o d a i c i n i , r o t u c e j E n i c i s o P e d d a d e i c o s a l n e o d i n e t n o C . a m e t s i s l e d s e t n e g a o t n e i m a n o z a r - s e d a d i c a p a c a i c n e i r e p x e e d o i n i m o d l e d o t n e i m i c o n o C y s e r o d a z i l a i c r e m o c s o r t o . a g r e n e e d s e r o d a r e n e g n o c n i c a i c o g e n e d d a d i c a p a C . s e t n e g a s o r t o s o l n i c p i r c s e D : n o s e u q s e d a d i v i t c a s a i r a v a z i l a e r e t n e g a e t s E n o c , r o d a t i l i c a f e t n e g a l e e t n a a r t s i g e r e s e t n e g a l e o d a i c i n i z e v a n U * . e t n e g A - i t l u M a m e t s i s l e d e t r a p r e c a h a a z e i p m e o t s e e j a s n e m n u r o d a t i l i c a f e t n e g a l a a v n e , r o d e d n e v e t n e g a n u r e s r o P * a r o d e d n e v e t n e m a c i f c e p s e , a t s e r p e u q o i c i v r e s l e e l o d n c i d n i e d o m o c a r t s i g e r e s o r u p r o d a z i l a i c r e m o c n u s e i s , s e r o d a z i l a i c r e m o c s e r o d i m u s n o c s o l a e d n e i t a e u q r o d a z i l a i c r e m o c n u s e i s y 2 o p i T . 2 y 1 o p i t e d o m o c a r t s i g e r e s s e c n o t n e o ) 2 o p i t e d s e i s ( r o d a z i l a i c r e m o c o r t o e d n i c i t e p a n u a r e d n o p s e R * . a g r e n e e d a r p m o c e d ) 1 o p i t e d s e i s ( r o d i m u s n o c n u e d o r t o u r o d i m u s n o c n u a e s ( r o d a r p m o c e t n e g a n u n o c r a i c o g e N * l e , o t s e a r a p , a g r e n e e d d a d i t n a c a t r e i c e d a t n e v a l , ) r o d a z i l a i c r e m o c n r i d e p m i e l e u q s o m i n m s o i c e r p r a j e n a m r o d a z i l a i c r e m o c e t n e g a . s o d i c e l b a t s e s e t i m i l s o t r e i c e d o j a b e d r o p a g r e n e a l r a i c o g e n n u o r o d a z i l a i c r e m o c n u a a g r e n e r a r p m o c a r a p a m o n o t u a e n e i T * . a g n o p s i d o l e u q o t n e m o m l e n e r o d a r e n e g n e a g r e n e e d l e v i n u s i s a g r e n e e d a r p m o c e d o s e c o r p n u r a i c i n I * o m i n m l e v i n ( o d i c e l b a t s e r o l a v o t r e i c n u e d o j a b e d r o p a t s e s o t a r t n o c . ) o d a e s e d o r t o u r o d a r e n e g n u a e s ( r o d e d n e v e t n e g a n u n o c r a i c o g e N * , o t s e a r a p , a g r e n e e d d a d i t n a c a t r e i c e d a r p m o c a l , ) r o d a z i l a i c r e m o c n r i d e p m i e l e u q s o m i x m s o i c e r p r a j e n a m r o d a z i l a i c r e m o c e t n e g a l e . s o d i c e l b a t s e s e p o t s o s e e d a m i c n e r o p a g r e n e a l r a i c o g e n o v i t e j b O a r a p a e s a y , r o d a z i l a i c r e m o c e t n e g a o r t o n o c r a i c o g e N . a g r e n e e d a t n e v o a r p m o c r a z i l a e r s o i c i v r e S * . a g r e n e e d r o d a r p m o C . a g r e n e e d r o d e d n e V * n i c a c i n u m o C . a m e t s i s l a o n r e t x e r o t c a n g n i n n o c a c i n u m o c e s o N n i c a n i d r o o C s o r t o n o c , s e r o d a r e n e g s e t n e g a n o c a t c a r e t n I . r o d a t i l i c a f e t n e g a l e n o c y s e r o d i m u s n o c , s e r o d a z i l a i c r e m o c : a d a r t n e e d s o r t e m r a P . a g r e n e e d l a i c i n i l e v i N . e t n e g a l e d l a t i p a C : a d i l a s e d s o r t e m r a P . o n u g n i N : s e n o i c p e c x E . a n u g n i N Tabla 1. Plantilla Textual del Agente Comercializador Pastrana et al. Energtica 33 29 Medelln, Julio de 2005, ISSN 0120-9833 4.2. Modelo de Tareas Este modelo permite mostrar las principales tareas del sistema Multi-Agente. En la metodologa MAS-CommonKADS se proponen plantillas para describir estas tareas y tambin diagramas de actividades para detallar las tareas realizadas por los agentes. La tarea venta de energa (vease la Figura 3), dentro del Sistema Multi-Agente podr ser realizada por los siguientes agentes: Agentes generadores: Pueden vender a agentes comercializadores que le soliciten. Agentes comercializadores: Los agentes comercializadores se dividen en 2 tipos segn a los agentes que pueden vender: o Comercializadores tipo 1: Pueden vender a los agentes consumidores. o Comercializadores tipo 2: Pueden vender a otros agentes comercializadores. En el diagrama de actividades, se consideran las actividades que debe realizar un agente vendedor durante la tarea vender energa. 4.3. Modelo de la Organizacin El objetivo del modelo de la organizacin Multi-Agente es representar las relaciones estticas entre los agentes del sistema. Para crear este modelo se llevan a cabo varias tareas, como son: 1) Identificacin de la estructura organizacional, 2) Identificacin de las relaciones de herencia (Arenas et al., 2003). La relacin de herencia entre agentes nos permite agrupar clases de agentes que comparten unas capacidades parecidas (servicios, sensores, actuadores, objetivos, creencias, etc.). En nuestro Sistema Multi-Agente se identifican las siguientes clases: Clase de los agentes comercializadores: Identifica a los agentes que tienen las capacidades de negociar contratos de energa con otros y tambin se encargan de proporcionar la energa a los clientes. Figura 3. Diagrama de Actividades de la tarea Venta de Energa Clase de los agentes generadores: Agrupa los agentes generadores que hacen parte del sistema multi-agente, los agentes pueden tener cierto grado de especializacin dependiendo si son plantas generadoras de energa trmica o hidrulica. Clase de los agentes consumidores: Se tendr un agente consumidor que representar todo el consumo presente en el sistema Multi-Agente. Clase de agentes Facilitador: Su funcin principal es de servir como informador cuando un agente lo requiera, proporcionando la informacin contenida en su base de datos. En la Figura 4 se muestra una representacin de la jerarqua de clases de agentes del sistema, donde se observa la plantilla de un agente bsico del cual sus caractersticas bsicas, tales como protocolos de comunicacin, envo, recepcin y procesamiento de mensajes, comportamientos genricos, etc. son heredadas por todas las clases de agentes del sistema (comercializadores, generadores, consumidores, facilitadotes, etc.). Figura 4. Jerarqua de clases de agentes segn la Metodologa MAS-CommonKADS Pastrana et al. Medelln, Julio de 2005, ISSN 0120-9833 30 Energtica 33 4.4. Modelos de Coordinacin y Comunicacin El modelo de coordinacin es propuesto en la metodologa MAS- CommonKADS para desarrollar y describir las interacciones entre los agentes de un sistema Multi-Agente. Con este modelo se permite profundizar en las interacciones entre los agentes de software, que se agrupan en conversaciones (Ovalle & Tobn, 2002). La descripcin de las conversaciones se realiza de forma grfica y textual. Para la representacin grfica se emplean los diagramas de caso de uso internos (Vase Figura 5). Para la representacin textual de las conversaciones se desarrollan las plantillas propuestas en la metodologa de desarrollo. En la Tabla 2 se observa la descripcin de la conversacin Enviar decisin de compra de energa, en la que pueden intervenir agentes generadores y agentes comercializadores. Esta se presenta cuando un comercializador decide comprar la energa que le ofreci otro comercializador o un generador con los que anteriormente haba tenido un proceso de negociacin. La Tabla 2 muestra la conversacin Enviar decisin de compra de energa, en la que pueden intervenir agentes generadores y agentes comercializadores. Esta conversacin se da cuando un consumidor decide comprar la energa que le ofreci un comercializador o un generador con los que anteriormente haba tenido un proceso de negociacin. Las conversaciones estn compuestas por elementos denominados intervenciones. En el modelo de coordinacin se modelan estos elementos en una etapa especfica llamada Identificacin de intervenciones; esta actividad se realiza con ayuda de los diagramas de secuencia ofrecidos en la notacin UML. Para ilustrar un poco ms esta actividad, se presenta la Figura 6, en la cual se observan los mensajes de la conversacin Enviar decisin de compra de energa. Descripcin de las Intervenciones: Para llevar a cabo la descripcin de las intervenciones definidas se utiliza el lenguaje de comunicacin KQML utilizado para representar el flujo de comunicacin entre un agente y otro. En la Tabla 3, se muestra una de las intervenciones que se presentaron en la Figura 6. Figura 5. Diagrama de casos de uso internos del sistema El modelo de comunicacin describe las interacciones entre usuarios externos y el Sistema Multi-Agente. Para cumplir con esta actividad se emplean las mismas tcnicas y plantillas utilizadas en el modelo de coordinacin. Tabla 2. Plantilla textual para la conversacin Enviar decisin de compra de energa El factor determinante para tomar la decisin de comprar a un vendedor u otro, es el precio al que estos sean capaces de vender. As, el comprador escoger al que le venda al menor precio. n i c a s r e v n o C a g r e n e e d a r p m o c e d n i s i c e d r a i v n E : o p i T . n i c a m r o f n i e d o s a P : o v i t e j b O . a g r e n e e d a r p m o c a l r a n i m r e T : s e t n e g A s e t n e g A s e t n e g a y s e r o d a z i l a i c r e m o c . s e r o d a r e n e g : r o d a i c i n I e t n e g A . r o d a z i l a i c r e m o c : n i c p i r c s e D a o d r e u c a e d , a g r e n e e d r o d a z i l a i c r e m o c e t n e g a n U r o d e d n e v l a u c a e d n i s i c e d a l a m o t , a g n e t e u q s a d a t p e c a s a t r e f o s a l . a r p m o c e l a g r e n e e d n u a a r p m o c e d n i c i s e d a l r a m o t a r a p e t n a n i m r e t e d r o t c a f l E . r e d n e v e d s e c a p a c n a e s s o t s e e u q l a o i c e r p l e s e , o r t o u r o d e d n e v . o i c e r p r o n e m l a a d n e v e l e u q l a r e g o c s e r o d a r p m o c l e o m o c s A r e b e d r o d a r p m o c e t n e g a l e , r o d e d n e v r o j e m l e o d i g o c s e z e v a n U : s e d a d i v i t c a s o d r a z i l a e r E : r o d e d n e v n u a a r p m o c e d n i c a m r i f n o C * e l r o d a r p m o c l E l e d o s e c o r p l e n e o d i c e r o v a f o d i l a s a h e u q r o d e d n e v n u a r a m r o f n i . n i c a i c o g e n : r o d e d n e v n u a n i c a i c o g e n e d n i c a l e c n a C * e b e d r o d a r p m o c l E a l n e s o d i c e r o v a f n o r a t l u s e r o n e u q s e r o d e d n e v s o l a n i b m a t r a m r o f n i . a g r e n e e d n i c a i c o g e n : o i c i v r e S . a g r e n e e d a r p m o c a n u r a z i l a n i F : n i c i d n o c e r P o s e c o r p l e d n i F s e t n e g a s o l n o c a r p m o c e d . s o d i c o n o c : n i c i d n o c t s o P a l u t c e f e e S n u a a g r e n e e d a r p m o c . r o d e d n e v : n i c a n i m r e T n i c i d n o C . n i c a l u m i s a l e d n i f o a r p m o c a l e d n i F Pastrana et al. Energtica 33 31 Medelln, Julio de 2005, ISSN 0120-9833 Una vez escogido el mejor vendedor, el agente comprador deber realizar 2 actividades: Confirmacin de compra a un vendedor: El comprador le informar a un vendedor que ha salido favorecido en el proceso de negociacin. Cancelacin de negociacin a un vendedor: El comprador debe informar tambin a los vendedores que no resultaron favorecidos en la negociacin de energa. Figura 6. Diagrama de secuencia para la conversacin Enviar decisin de compra de energa Tabla 3. Descripcin de la intervencin Compro energa ofrecida 4.5. Modelo de la Experiencia El modelo de la experiencia involucra la identificacin, descripcin y estructuracin del conocimiento que requieren los agentes para realizar sus tareas. Una de las actividades principales es el desarrollo del conocimiento del dominio, en el cual se identifican todos los conceptos; la descripcin textual de este modelo consiste en una plantilla que describe el diagrama de conceptos. La ontologa MercadoElectrico maneja como concepto principal la energa, as: e v i t a m r o f r e p " l l e t " t n e t n o C , a g r e n e ( r a r p m o C o t p e c A , n o i c c a s n a r T r o d a c i f i t n e d i ) o i c e r p , d a d i t n a c o T y l p e R n i a t r e f O r e v i e c e R r o d e d n e v e t n e g A h t i W y l p e r a d i u g e s n o C a i g r e n E r e d n e s r o d a r p m o c l e d e r b m o N e g a u g n a l L M Q K y g o l o t n o a g r e n E Concepto: energa Descripcin: La energa es el concepto que representa el tem o bien a negociar en todo el mercado que se representa en el Sistema Multi-Agente. La energa es producida slo por los generadores, es negociada entre los agentes comercializadores, y es consumida por los usuarios. 5. Fases de Diseo/Implementacin Esta ltima fase de la metodologa MAS-CommonKADS, se centra en el desarrollo del modelo de diseo, el cual pretende transformar las especificaciones del resto de modelos para que se puedan describir mediante un lenguaje de programacin. El modelo de diseo de MAS-CommonKADS distingue tres clases de decisiones de diseo: diseo de la red, diseo de los agentes y diseo de la plataforma. El diseo de la red consiste en desarrollar el modelo de red, el cual proporciona a los agentes una visin uniforme de la red. Est definido como un modelo en capas, y distingue entre dos tipos de agentes (Iglesias,1998): Agentes de red: Son aquellos agentes que ofrecen servicios para mantener la red. Agentes de aplicacin: Son los agentes que resuelven un problema concreto de la aplicacin de forma autnoma o cooperando con otros agentes. En la Tabla 4 se muestra la plantilla propuesta por MAS- CommonKADS para definir los constituyentes del diseo de red de nuestro sistema. La descripcin del diseo de los agentes se realiza siguiendo una plantilla propuesta por MAS-CommonKADS, en la Tabla 5 se muestra el diseo del agente Comercializador, esta plantilla incluye el nombre del agente que se esta diseando, el lenguaje de descripcin y los subsistemas encapsulados en el agente. As mismo, los subsistemas (tareas que realiza el agente), son descritos involucrando informacin como el nombre, tipo y funcionalidades. El diseo de la plataforma permite documentar las decisiones de bajo nivel sobre el lenguaje de implementacin seleccionado, el software y hardware empleado y los usuarios finales del sistema. Los usuarios del sistema son las personas interesadas en estudiar el mercado elctrico, ver como se simula y los procesos que conlleva. Se emplea el lenguaje KQML para la representacin de Pastrana et al. Medelln, Julio de 2005, ISSN 0120-9833 32 Energtica 33 los mensajes que intercambian los agentes durante sus conversaciones. En cuanto a la fase de implementacin del sistema Multi-Agente se utiliz la herramienta JAVA, ya que presenta muchas ventajas para este tipo de sistemas, por su facilidad para la programacin de hilos, su orientacin a objetos y su facilidad de correr en diferentes sistemas operativos. Para sto se siguen los diagramas empleados en las fases de anlisis y diseo, lo cual hace ms eficiente y rpida la construccin del sistema. En cuanto al hardware, se requiere de PC con 64 MB de RAM o superior, que disponga de JVM (Java Virtual Machine) 1.2 o superior. d e R o n a i b m o l o C o c i r t c e l E r e M d e r - e d - s o i c i v r e s - i t l u m a m e t s i s l e n e n a t s e r p e s e u q d e r e d s o i c i v r e s s o L : n o s e t n e g a ) r e t s i g e r a v i t i m i r p a l n o c a z i l a e r e s ( e s r a r t s i g e R * ) e s i t r e v d a a v i t i m i r p a l n o c o b a c a a v e l l e s ( o i c i v r e s - r a i c n u n a * ) e s i t r e v d a n u n o c a z i l a e r e s ( o i c i v r e s - r a n o d n a b a * n u a v n e r a t l u s n o c a e s e d e t n e g a n u o d n a u C ( s a l l i r a m a - s a n i g p - a t l u s n o c * ) l l a - d n e m m o c e r a v i t i m i r p a l n o c e j a s n e m d e r - e d - s e t n e g a r o d a t i l i c a F e t n e g A : n i c p i r c s e D n o s ) s a l l i r a m a s a n i g p ( d e r e d s e d a d i l a n o i c n u f s a L r o p e t n e g A - i t l u M a m e t s i S e t s E . r o d a t i l i c a f e t n e g a l e r o p s a d a n o i c r o p o r p a n u r e s a o d a n i m a c n e a t s e o n , n i c a l u m i s a l a i c a h o d a c o f n e r a t s e a n u n e o d n e i r r o c n r a t s e s e t n e g a s o l s o d o t e u q s a , a d i u b i r t s i d n i c a c i l p a e d s e r o d i v r e s s e t n e g a n o c r a t n o c e s o n n z a r a t s e r o p , a n i u q m a m s i m . s e r b m o n : s e n o i c n u f s e t n e i u g i s s a l r a z i l a e r e d o d a g r a c n e r a t s e r o d a t i l i c a F e t n e g a l E : s e t n e g a r a r t s i g e R * e u q s e t n e g a s o l e d o r t s i g e r l e r i b i c e r n e e t s i s n o C s m , e t n e g A - i t l u M a m e t s i S l a o i c i v r e s n u r a n o i c o m o r p n e s o d a s e r e t n i n t s e s o l r i b i c e r e d d a d i c a p a c a l n e r a t s e r o d a t i l i c a f e t n e g a l e , e t n e m a c i f c e p s e o s e r o d a z i l a i c r e m o c ( s e r o d e d n e v s e t n e g a s o l n e v n e e u q s e j a s n e m s o l a n e d n e v i s , r i c e d s e , n a t s e r p e u q o i c i v r e s l e o d n a c i d n i , ) s e r o d a r e n e g n a c i f i s a l c e s s o i c i v r e s s o L . s e r o d a z i l a i c r e m o c a n e d n e v i s o s e r o d i m u s n o c e s e u q o t c u d o r p o n e i b o c i n l e a m e t s i s l e n e e u q a y , a m r o f a t s e e d a o d r e u c a e d e u q n e n a i c n e r e f i d e s o l o s s e t n e g a s o l y a g r e n e s e a i c r e m o c s e r o d i m u s n o c s e t n e g a s o l a a e s a y , a g r e n e r e d n e v n r d o p n i c a c i f i s a l c u s s e t n e g a s o l a o ) 1 o p i t e d s e r o d a z i l a i c r e m o c s o l e d o s a c l e s e o m o c ( s e t n e g a s o l s o d o t e d o s a c l e s e o m o c ( s e r o d a z i l a i c r e m o c . ) s e r o d a r e n e g s e t n e g a s o l y s e r o d a z i l a i c r e m o c : n i c a m r o f n i r a n o i c r o p o r P * n i c a m r o f n i a l r a n o i c r o p o r p e b e d r o d a t i l i c a f l E s e l e u q r o d a t i l i c a f l a n r i d e p s e t n e g a s o l , e t n e g a n u e t i c i l o s e l e u q s e l e t s e y , a g r e n e r a i c o g e n a d e u p s e l a u c s o l n o c s e t n e g a e d n e i m o c e r e u q e t n e g a e d o p i t l a r e d n e v a r a p s o d a r t s i g e r s e t n e g a s o l n o c r e d n o p s e r . d u t i c i l o s a l e t n e m l a i c i n i z i l a e r . n i c a c i n u m o C e d e j a u g n e L s e o d a z i l i t u n i c a c i n u m o c e d e j a u g n e l l E s o l o c o t o r p s e t n e r e f i d s o l s o d i n i f e d n o r e u f e j a u g n e l e t s e e d s v a r t A . L M Q K . a m e t s i s l e d s e t n e g a s o l e r t n e s e j a s n e m e d o i b m a c r e t n i e n i c a i c o g e n e d . a g o l o t n O l e n e a d i n i f e d a t s e y , " a g r e n e " s e a m e t s i s l e a r a p a g o l o t n o a L . a i c n e i r e p x e a l e d o l e d o m Tabla 4. Constituyentes del diseo de red 6. Fase de Validacin La validacin que se realiz sobre el sistema Multi-Agente consisti en varias pruebas realizadas con diferentes escenarios, es decir, corriendo la herramienta bajo diferentes configuraciones de agentes comercializadores y generadores. En este artculo se presenta nicamente uno de los casos de estudio realizados; se describen y analizan los resultados arrojados por el sistema y finalmente, se enuncian algunas de las limitaciones del sistema. Caso de estudio Para este caso de estudio se considera la siguiente configuracin de agentes: Pastrana et al. Energtica 33 33 Medelln, Julio de 2005, ISSN 0120-9833 Agente Consumidor: C. Agentes Comercializadores tipo 1: Comercializador1, Comercializador2, Comercializador3, Comercializador4, Comercializador5. Agentes Comercializadores tipo 2: ComercializadorPuro1 y 2 Agentes Generadores: Generador1, Generador2 y Generador3. La simulacin se efectu en un perodo de 13 das y los resultados obtenidos fueron los siguientes para el Agente Consumidor C: e t n e g A - a m e t s i S r o d a z i l a i c r e m o C a r u t c e t i u q r A a m r o f a t a l p a n u g n i n e d o s u n i s , A V A J n e n o r a l l o r r a s e d e s s e t n e g a s o L s e t n e g A - i t l u M s a m e t s i s e d n i c c u r t s n o c e d a m e t s i s b u s - e n e i t n o c s e n o i c a s r e v n o C r a i c i n I , s e r o d e d n e V e d n i c a d n e m o c e R r i d e P . a t n e v r a i c o g e N , a r p m o c r a i c o g e N , e j a s n e M r e d n o p s e R , s e r o d e d n e v o e s i d - e j a u g n e l A V A J a m e t s i s b u S a g r e n e e d a t n e v r a i c o g e N : o p i t s a e r a t e d n i c u c e j e e d : s e d a d i l a n o i c n u f o r t o e d a d i b i c e r a t r e f o a r t n o c a n u a e s a b n o C a n u a z i l a e r r o d a z i l a i c r e m o c e t n e g a l e , r o d a r e n e g n u o r o d a z i l a i c r e m o c . a t r e f o a t n e m e l p m I . a r p m o c e d o i c e r p r a i c o g e N o d a l l a t e d - o e s i d l e , a t r e f o a r t n o c a n u o d n e i n e t n o c " k s a " e j a s n e m n u e b i c e r z e v a n U n u a l u c l a c e u q a l n e , r a i c o g e n n i c n u f a l a t u c e j e r o d a z i l a i c r e m o c e t n e g a a t n e v e d o m i n m o i c e r p u s n e e s o d n s a b a t r e f o a n u r e c a h a r a p o i c e r p . a d i b i c e r a t r e f o a r t n o c a l n e y Tabla 5. Plantilla Textual diseo Agente Comercializador : s a r p m o C 7 a d l e n e w K 8 8 1 r o d a z i l a i c r e m o C l A 1 a d l e n e w K 5 9 3 r o d a z i l a i c r e m o C l A 8 a d l e n e w K 4 3 4 r o d a z i l a i c r e m o C l A 2 a d l e n e w K 0 5 4 r o d a z i l a i c r e m o C l A 9 a d l e n e w K 6 2 3 r o d a z i l a i c r e m o C l A 3 a d l e n e w K 1 4 4 r o d a z i l a i c r e m o C l A 0 1 a d l e n e w K 0 3 5 r o d a z i l a i c r e m o C l A 4 a d l e n e w K 8 1 5 r o d a z i l a i c r e m o C l A 1 1 a d l e n e w K 6 6 4 r o d a z i l a i c r e m o C l A 5 a d l e n e w K 8 1 5 r o d a z i l a i c r e m o C l A 2 1 a d l e n e w K 8 2 5 r o d a z i l a i c r e m o C l A 6 a d l e n e w K 3 2 3 r o d a z i l a i c r e m o C l A 3 1 a d l e n e w K 8 3 4 r o d a z i l a i c r e m o C l A RESULTADOS DE LAS TRANSACCIONES DEL CONSUMIDOR C Pastrana et al. Medelln, Julio de 2005, ISSN 0120-9833 34 Energtica 33 En la Figura 7 se muestra la distribucin de los porcentajes de consumo de los diferentes agentes comercializadores de tipo 1, los cuales fueron: - Comercializador1: 15,856%, - Comercializador3: 25,946% - Comercializador 4: 41,261%, - Comercializador5: 16,937% En la Figura 8, se muestra da a da el consumo del Consumidor C. Figura 7. Distribucin de Consumo de Energa para el Consumidor C. Figura 8. Consumo de Energa del Agente Consumidor C. Al Comercializador5 61 Kw. y Al ComercializadorPuro1 55 Kw. El comercializador4 vendi: Al Consumidor C 50 Kw, 41 Kw, 34 Kw, 66 Kw, 38 Kw. Al Comercializador2 67 Kw. Al ComercializadorPuro1 65 Kw, 51 Kw, 65 Kw. Al Comercializador2 67 Kw. En la Figura 9, se muestra la grfica de las compras y ventas del Agente Comercializador4. Con esta grfica se observa a lo largo del perodo de simulacin cmo fueron las ventas del agente, las cuales se pueden resumir de la siguiente manera: El comercializador4 vendi para los siguientes das: Da 2: 50Kw, Da 3: 41 Kw., Da 8: 34Kw, Da 11: 66Kw y Da 13: 353Kw. El comercializador4 compr: Al Comercializador2 69 Kw.; Figura 9. Compras y ventas del Agente Comercializador 4 Figura 10. Porcentajes de ventas del Comercializador 4 Pastrana et al. Energtica 33 35 Medelln, Julio de 2005, ISSN 0120-9833 En la figura 10 se muestra uno de los resultados grficos obtenidos del prototipo. En esta se puede observar como fueron los porcentajes de consumo a los diferentes agentes comercializadores y generadores: Comercializador2: 24.63% ComercializadorPuro1: 33.27% Consumidor: 42.09% En la figura 11, se muestra las grficas de las compras y ventas del Agente Comercializador1. Con esta grfica se observa a lo largo del perodo de simulacin cmo fueron las compras y ventas del agente. Compras Al ComercializadorPuro1 69 Kw Ventas Al Consumidor 88 Kw Figura 11. Compras y ventas del Comercializador1 De la misma manera y para los dems comercializadores, es decir Comercializador2, Comercializador3 y Comercializador5 y generadores: Generador1, Generador2 y Generador3 el sistema proporciona los resultados de las transacciones, adems de los porcentajes de compras y ventas de energa realizadas en la simulacin. Limitaciones del Sistema Cabe sealar que el prototipo implementado en este proyecto tiene las siguientes limitaciones: Existe un consumidor en el sistema. ste determina de forma aleatoria una cantidad a comprar que corresponder al consumo de este agente en el da actual de simulacin, adicionalmente genera aleatoriamente en cierto rango definido el precio mximo para esa compra de energa. Cada vez que el consumidor pueda comprar la energa se interpretar como pasado un da de simulacin. Los agentes comercializadores pueden responder ante cualquier solicitud de energa, es decir, todo lo que les pidan son capaces de venderlo ya que tienen una capacidad de endeudamiento ilimitada, de esta forma, los comercializadores slo tendrn en cuenta para la venta el precio ofrecido por el agente comprador para rechazar o aceptar la propuesta. Los vendedores, generadores y comercializadores, no ofrecen la energa a los posibles compradores, para una negociacin de venta esperan a que un comprador haga la solicitud que desea. La forma en que finaliza la simulacin es cuando el consumidor compra el nmero de veces que corresponden a das que desea simular el usuario o cuando se super un tiempo en milisegundos que esta relacionado con que cada transaccin de consumo debe durar entre (20 y 40 segundos). Por estar trabajando en una sola mquina, si se coloca mucho tiempo de simulacin pueden llegar a interferirse los hilos y no tienen los comportamientos deseados, esto podra ser mejorado al colocar los hilos en distintas mquinas y as evitar que estn trabajando con los mismos recursos. Bajo algunas configuraciones de agentes se ha encontrado que los hilos no tienen los comportamientos deseados. 6. Conclusiones y Trabajo Futuro Con este trabajo se trata de aprovechar las bondades que ofrecen los Sistemas Multi-Agente, tales como son su autonoma y capacidades sociales para simular el comportamiento del mercado de la energa Elctrica en Colombia. A lo largo de este artculo se ha mostrado la aplicacin de la metodologa MAS-CommonKADS, una de las ms usadas y completas en lo que se refiere al anlisis y diseo de Sistemas Multi-Agentes. Esta metodologa ha facilitado en gran medida el proceso de modelamiento de este trabajo. Con el fin de permanecer genrica la metodologa MAS-CommonKADS no cubre la fase de implementacin y validacin, dado que stas son muy dependientes de la plataforma empleada, aunque las especificaciones son suficientemente detalladas para facilitar dichas tareas, lo cual se corrobor con el sistema implementado. Se considera como trabajo futuro el mejoramiento del prototipo superando las limitaciones que se enunciaron en la seccin anterior. Adicionalmente, se propone el modelamiento y desarrollo de ms agentes pertenecientes al mercado elctrico. Finalmente y puesto que el Mercado Elctrico Colombiano maneja mucha informacin dispersa y distribuida, el grupo de Inteligencia Artificial ha propuesto tambin como trabajo futuro un proyecto sobre la construccin de un sistema basado en agentes para la recuperacin y recomendacin de informacin relevante proveniente de diversas fuentes de conocimientos y Bases de Datos remotas. Se tiene previsto entonces integrar dicho sistema con el que se describe en este artculo, para producir uno ms robusto y completo. 7. Referencias Arenas S., Alvaro E., Barrera S., Gareth & Prez A. Jos (2003). Agentes inteligentes para la Gestin de Memorias Organizacionales., Workshop Cientfico TECNOCOM (Tecnologas en Informtica y Telecomunicaciones) - Medelln. Dyner Isaac, Franco Carlos Jaime, Bedoya Leonardo, Arango Santiago y Ochoa Patricia (2000). Aprendizaje en comercializacin de energa elctrica con el apoyo de Enerbiz, Revista de Estudios Energticos, Facultad de Minas Universidad Nacional de Colombia - Sede Medelln- Diciembre. Pastrana et al. Medelln, Julio de 2005, ISSN 0120-9833 36 Energtica 33 Iglesias F. Carlos A. (1998). Definicin de una metodologa para el desarrollo de Sistemas Multi-Agente. Tesis doctoral. Universidad Politcnica de Madrid, pp. 284. ISA Interconexin Elctrica S.A (2002). Mercado de energa mayorista MEM. Presentacin general del mercado, Noviembre. Ovalle C., Demetrio .A. & Prez T. Fernando (2002). Meta- Modelo de Coordinacin de Tareas para Sistemas Multiagente. Caso de estudio: Control de un Robot Mvil. Revista DYNA, Facultad de Minas, ISSN: 0012-7353, pp. 9-16. Ovalle C., Demetrio A. & Prez T. Fernando (2003). Using MAS- COMMON-KADS Methodology in Modeling the Control of Mobile Robot Kephera. 7th World Multiconference on Systemics, Cybernetics and Informatics (SCI 2003), Orlando, USA, ISBN: 980-6560-01-9, pp. 170-175. Prez T. Fernando (2000). Meta-modelo de coordinacin de tareas para sistemas multiagente en ambientes de trabajo cooperativo. Tesis de maestra. Postgrado en Ingeniera de Sistemas. Universidad Nacional de Colombia -Sede Medelln, pp. 161, 2000. Schreiber A. Th., Wielinga B. J., Akkermans J. M., and Van de Velde W. CommonKADS: A comprehensive methodology for KBS development (1994). Deliverable DM1.2a KADSII/ M1/RR/UvA/70/1.1, University of Amsterdam, Netherlands Energy Research Foundation ECN and Free University of Brussels. Smith R., Dyner I., Franco C.J, Bedoya L., Arango S., Montoya S. and Ochoa P. (2000). Microworld for Organizacional Learning in the Colombian Electricity Market, Conferencia Internacional de Dinmica de Sistemas, Noruega. Pastrana et al.