Application of the multi-agent systems in the context of the multi-commodity market model M 3 1/30 Application of the multi-agent systems in the context of the multi-commodity market model M 3 Piotr Pałka Institute of Control and Computation Engineering Warsaw University of Technology 5 listopada 2010, Warsztaty naukowe grantu M 3 Modele wymiany wielotowarowej: metody wymiany informacji
Application of the multi-agent systems in the context of the multi-commodity market model M 3 2/30 Wprowadzenie Agenda 1 Wprowadzenie 2 Projekt wieloagentowej platformy wymiany wielotowarowej 3 Implementacja Java 4 Implementacja AIMMS
Application of the multi-agent systems in the context of the multi-commodity market model M 3 3/30 Wprowadzenie System wieloagentowy System wieloagentowy System wieloagentowy System złożony z wielu agentów (programów), które komunikują się między sobą; Każdy z agentów posiada własne cele; System wieloagentowy posiada pewne cele nadrzędne powinien funkcjonować zgodnie z intencjami projektanta; Nie realizuje ich bezpośrednio ale poprzez indywidualne działania agentów i ich wzajemne interakcje;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 4/30 Wprowadzenie System wieloagentowy Cechy systemu wieloagentowego Elastyczność, odporność; Rozszerzalność; Zdolność do działania w środowiskach rozproszonych. Agent komponent oprogramowania Podstawowe cechy agenta: Autonomiczność; Komunikatywność; Zdolności społeczne; Zdolność do adaptacji.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 5/30 Wprowadzenie Model M 3 Handel wielotowarowy i model M 3 Handel wielotowarowy Jednoczesny handel wieloma towarami; Uwzględnia ograniczenia, jakie między nimi zachodzą; Model M 3 (ang. Multicommodity Market Model) Otwarty model danych dla wymiany wielotowarowej; Standaryzuje komunikację między podmiotami/segmentami rynkowymi; Wygodny zapis danych rynkowych w formacie M3-XML.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 6/30 Projekt wieloagentowej platformy wymiany wielotowarowej Agenda 1 Wprowadzenie 2 Projekt wieloagentowej platformy wymiany wielotowarowej 3 Implementacja Java 4 Implementacja AIMMS
Application of the multi-agent systems in the context of the multi-commodity market model M 3 7/30 Projekt wieloagentowej platformy wymiany wielotowarowej Projekt systemu Projekt wieloagentowej platformy handlu wielotowarowego Projekt systemu Struktura ról agentów; Środowisko wieloagentowe; Mechanizmy komunikacji; Model ofertowania; Mechanizm rynkowy;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 8/30 Projekt wieloagentowej platformy wymiany wielotowarowej Struktura agentów Struktura agentów rynek scentralizowany Agent handlujący Pośrednik między rzeczywistym decydentem a systemem wieloagentowym; Jego celem jest zawieranie najbardziej korzystnych kontraktów; Składa oferty kupna/sprzedaży zgodnie z: pewną strategią; preferencjami decydenta; Agent operator rynku Zbiera oferty od pozostałych agentów; Dokonuje analizy ofert (zgodnie z ustalonym mechanizmem rynkowym): dzieli je na przyjęte i odrzucone; wyznacza ceny; Rozsyła wyniki do agentów handlujących;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 9/30 Projekt wieloagentowej platformy wymiany wielotowarowej Struktura agentów Struktura agentów rynek rozproszony Agent negocjator Pośrednik między rzeczywistym decydentem a systemem wieloagentowym; Jego celem jest zawieranie najbardziej korzystnych kontraktów; Zawarcie kontraktu poprzedzone jest negocjacjami; Agent Morris Column (słup ogłoszeniowy) Udostępnia możliwość wieszania/przeglądania ogłoszeń ; Możliwość istnienia wielu takich agentów;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 10/30 Projekt wieloagentowej platformy wymiany wielotowarowej Struktura agentów Agenty agregujące Agenty agregujące Agregator; Pośrednik; Odsprzedawca;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 11/30 Projekt wieloagentowej platformy wymiany wielotowarowej Środowisko wieloagentowe Środowisko wieloagentowe Agenty, aby mogły się komunikować, muszą być osadzone w pewnym środowisku wieloagentowym.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 12/30 Projekt wieloagentowej platformy wymiany wielotowarowej Język komunikacji agentów Język komunikacji agentów Schematy wymiany komunikatów Zmodyfikowane schematy wymiany komunikatów: Contract Net Interaction Protocol Iterated Contract Net Interaction Protocol Zestaw aktów komunikacyjnych Zestaw aktów komunikacyjnych (performatyw) zaproponowanych przez organizację FIPA; Język treści komunikatów Języki treści komunikatów: FIPA-SL, M3XML, XPath, XQuery;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 13/30 Projekt wieloagentowej platformy wymiany wielotowarowej Model ofertowania Model ofertowania Wymagania: Agenty powinny mieć możliwość elastycznego wyrażania swoich preferencji poprzez pewne sparametryzowane oferty; Oferty mogą przyjmować różną postać; Postać ofert ewoluuje wraz z rozwojem rynku, rozwiązań oraz świadomości i wymagań uczestników; System powinien mieć możliwość wyrażania szerokiego spektrum możliwych form ofert; Rozwiązanie model ofert M 3 (zapis ofert w języku M3XML) Oferty elementarne; Oferty zintegrowane; Oferty grupujące;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 14/30 Projekt wieloagentowej platformy wymiany wielotowarowej Mechanizm rynkowy Mechanizm rynkowy Mechanizm rynkowy M Określa w jaki sposób rozdzielić oferty uczestników (sygnały Θ) na przyjęte i odrzucone x a także jakie ceny π przypisać poszczególnym towarom (reguła alokacji ξ i wyceny η); Model M 3 ułatwia implementację i porównanie własności różnych mechanizmów rynkowych;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 15/30 Implementacja Java Agenda 1 Wprowadzenie 2 Projekt wieloagentowej platformy wymiany wielotowarowej 3 Implementacja Java 4 Implementacja AIMMS
Application of the multi-agent systems in the context of the multi-commodity market model M 3 16/30 Implementacja Java Implementacja wieloagentowej platformy wymiany wielotowarowej w środowisku Java Wykorzystuje ona: model danych M 3, aplikację SolveM3, standardy komunikacji FIPA, frameworki Javy: JAXB oraz JADE
Application of the multi-agent systems in the context of the multi-commodity market model M 3 17/30 Implementacja Java Środowisko wieloagentowe JADE Jade - Java Agent DEvelopment Framework Implementuje standardy komunikacji wieloagentowej zaproponowane przez FIPA (ang. Foundation of Inteligent Physical Agents); Dostarcza środowiska wieloagentowego zgodnego z propozycjami FIPA.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 18/30 Implementacja Java Integracja modelu M 3 z Java Integracja modelu M 3 z Java Ułatwienia dla agentów handlujących i negocjatorów JAXB Framework JAXB Java Architecture for XML Binding; Realizuje mapowanie klas Java na reprezentację XML i odwrotnie; Uzyskujemy realizację modelu M 3 jako klasy Javy;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 19/30 Implementacja Java Integracja modelu M 3 z Java Integracja modelu M 3 z Java Ułatwienie dla agentów operatorów SolveM3 Narzędzie SolveM3 umożliwia rozwiązywanie reguł alokacji i wyceny dla danych zapisanych w języku M3XML; Wybór odpowiednich reguł alokacji i wyceny poprzez zastosowanie transformat XSLT/XQuery;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 20/30 Implementacja Java Napotkane problemy Problemy napotkane podczas implementacji problem pożądane rozwiązanie Implementacja instancja agent Directory agenta Morris Facilitator Column Zmodyfikowane protokoły rozszerzenie klasy interakcji jade.proto ostateczne rozwiązanie rozszerzenie zwykłego agenta własna implementacja grafy zachowań
Application of the multi-agent systems in the context of the multi-commodity market model M 3 21/30 Implementacja Java Właściwości techniczne Badanie szybkości przekazywania komunikatów Rysunek: Konfiguracja eksperymentu Testy Czas przesłania pojedynczego aktu komunikacyjnego (propose); Czas trwania negocjacji (protokołu interakcji Iterated Contract Net Interaction Protocol); Badania dla różnych ilości agentów uruchomionych na 10 maszynach.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 22/30 Implementacja Java Właściwości techniczne Czas przesłania pojedynczego aktu komunikacyjnego (propose) no. of agents avg. time std. dev. min time max time [ms] [ms] [ms] [ms] 100 1.14 0.38 0.17 1.87 500 7.74 1.77 2.19 10.78 1 000 18.48 7.17 5.38 31.72 Czas trwania negocjacji protokół interakcji Iterated Contract Net Interaction Protocol no. of agents avg. time std. dev. min time max time [ms] [ms] [ms] [ms] 100 103.23 102.35 20 387 500 56.59 49.57 7 293 1 000 71.06 70.39 7 493 5 000 189.69 237.71 12 1 486 10 000 167.57 290.18 9 3 658
Application of the multi-agent systems in the context of the multi-commodity market model M 3 23/30 Implementacja Java Implementacja Java podsumowanie Implementacja Java podsumowanie Zaimplemenowano wieloagentową platformę wymiany wielotowarowej w środowisku Java, wykorzystując model danych M 3, standardy komunikacji FIPA oraz frameworki Javy: JAXB oraz JADE. Możliwości wieloagentowej platformy wymiany towarów: Szybka wymiana komunikatów; Szkielet do implementacji specjalizowanych rozwiązań, np. do handlu pozwoleniami na emisję CO2; Możliwość implementacji dowolnego mechanizmu rynkowego: opis problemu modelowany w M 3 ; zapis danych rynkowych w M3XML; implementacja mechanizmu w aplikacji SolveM3;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 24/30 Implementacja AIMMS Agenda 1 Wprowadzenie 2 Projekt wieloagentowej platformy wymiany wielotowarowej 3 Implementacja Java 4 Implementacja AIMMS
Application of the multi-agent systems in the context of the multi-commodity market model M 3 25/30 Implementacja AIMMS System AIMMS AIMMS AIMMS (ang. Advanced Integrated Multidimensional Modeling Software) Zaawansowane środowisko do budowy aplikacji opartych o matematyczne modele optymalizacyjne; W tym mechanizmów bilansowania dla różnych segmentów rynkowych; Możliwości systemu AIMMS Narzędzia optymalizacyjne; Obiektowy język programowania, operujący na elementach i danych problemów optymalizacji; Narzędzia do tworzenia interfejsu użytkownika; Narzędzia ułatwiające import i eksport danych zapisanych w języku XML (współpraca z modelem M 3 przez język M3-XML); Wsparcie dla budowy środowisk wieloagentowych;
Application of the multi-agent systems in the context of the multi-commodity market model M 3 26/30 Implementacja AIMMS Środowisko wieloagentowe Środowisko wieloagentowe AIMMS Agenty, aby mogły się komunikować, muszą być osadzone w pewnym środowisku wieloagentowym. Środowisko wieloagentowe AIMMS Kolejka komunikatów AIMMS: Kierowane są do niej komunikaty wysyłane przez agentów; Realizuje przesyłanie komunikatów do adresatów; Struktura agentów role agentów w AIMMS; Możliwość utworzenia interfejsu WSDL i dostęp do systemu wieloagentowego poprzez web services.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 27/30 Implementacja AIMMS Integracja modelu M 3 w AIMMS Integracja modelu M 3 w AIMMS Integracja modelu M 3 w AIMMS Przygotowano procedury obsługujące dokumenty M3-XML (zapis i odczyt); Wykorzystano narzędzie AIMMSa AXM (AIMMS XML Mapping file); Konieczne było poprawienie plików AXM wykorzystano do tego transformaty XSLT.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 28/30 Implementacja AIMMS Możliwości środowiska wieloagentowego AIMMS Zalety Łatwość implementacji strategii agentów; Komunikacja przez interfejs WSDL; Wady Ograniczone możliwości rozszerzania systemu: dodawanie nowych ról agentów, nowych komunikatów, zmiana zawartości komunikatów. Złagodzone gdy założymy że treść jest w formacie XML; Brak obsługi schematów wymiany komunikatów.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 29/30 Implementacja AIMMS Ocena wieloagentowej platformy wymiany towarów Dwa zasadnicze moduły platformy: System wieloagentowy; + Szereg mechanizmów rynkowych, rozwijanych w aktualnym, światowym nurcie prac badawczych. Uzyskaliśmy kompromis między: Dużą elastycznością modelowania mechanizmów i procesów rynkowych, a nieco gorszą implementacją systemu wieloagentowego. Jest dobrym rozwiązaniem Do prowadzenia prac badawczych; Na potrzeby budowy prototypu systemu; Raczej nie nadaje się do komercyjnych zastosowań.
Application of the multi-agent systems in the context of the multi-commodity market model M 3 30/30 Implementacja AIMMS Implementacja AIMMS podsumowanie Implementacja AIMMS podsumowanie Platforma może służyć do symulacji procesów rynkowych; Łatwe jest tworzenie wykresów, tabel przestawnych oraz predefiniowanych okien użytkownika; Platforma ta może służyć do badania właściwości, porównywania oraz do projektowania nowych mechanizmów rynkowych; Agenty dążąc do spełnienia własnych celów, dążą także do wyniku pożądanego przez projektanta rynku (czyli do stabilnego punktu równowagi rynkowej);