Design and Java implementation of the multi-agent platform for multi-commodity exchange

Podobne dokumenty
Application of the multi-agent systems in the context of the multi-commodity market model M 3

Weronika Radziszewska IBS PAN

Komunikacja w systemie wieloagentowym

WIELOAGENTOWA PLATFORMA HANDLU DLA LOKALNEGO RYNKU ENERGII ELEKTRYCZNEJ *

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

Dialogowe akty mowy w modelach sztucznej inteligencji

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Proces dwukierunkowej wymiany danych

Virtual Grid Resource Management System with Virtualization Technology

Zaawansowane narzędzia programowania rozproszonego

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

1 Wprowadzenie do J2EE

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Dane Klienta: Staples Polska Sp. z o.o. Bysewska Gdańsk

DOTACJE NA INNOWACJE

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

KIERUNKOWE EFEKTY KSZTAŁCENIA

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

KIERUNKOWE EFEKTY KSZTAŁCENIA

Dotacje na innowacje - Inwestujemy w Waszą przyszłość ZAPYTANIE OFERTOWE

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Zadanie 1: rozproszona wiedza SKJ (2016)

Tom 6 Opis oprogramowania

Programowanie obiektowe

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NYSIE

Tomasz Grześ. Systemy zarządzania treścią

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Programowanie obiektowe

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

Komunikacja i wymiana danych

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

ZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska

Zapytanie ofertowe na: Zakup wartości niematerialnej i prawnej w postaci nowoczesnego systemu B2B wraz ze szkoleniem z obsługi ww.

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Serwery LDAP w środowisku produktów w Oracle

Programowanie Komponentowe WebAPI

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Załącznik 15. Komunikacja

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Inteligentne kontrakty oparte o blockchain. Mateusz Zaborski

Programowanie obiektowe

Infrastruktura bibliotek cyfrowych

DLA SEKTORA INFORMATYCZNEGO W POLSCE

XML i nowoczesne technologie zarządzania treścią

OSGi Agata Hejmej

Podstawy programowania. Wprowadzenie

SOA Web Services in Java

Aukcja czasu Zastosowanie dla studiów elastycznych Wstępne założenia i koncepcja

HP Service Anywhere Uproszczenie zarządzania usługami IT

zarządzająca popytem i podażą energii w obszarze odbiorców końcowych

MODEL SYSTEMU WIELOAGENTOWEGO KORZYSTAJĄCEGO Z DANYCH SIECI SEMANTYCZNEJ W PROJEKCIE OPEN NATURA 2000

Programowanie obiektowe

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

ZAMAWIAJĄCY. CONCEPTO Sp. z o.o.

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

DOTACJE NA INNOWACJE

Rozwiązania SCM i Portal dla handlu i przemysłu

Analiza i projektowanie aplikacji Java

Wirtualizacja zasobów IPv6 w projekcie IIP

Instrukcja instalacji Asystenta Hotline

JADE Java Agent Development Framework. MiASI2, TWO2,

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Wykład Ćwiczenia Laboratorium Projekt Seminarium

3.1. Na dobry początek

Opis systemu CitectFacilities. (nadrzędny system sterowania i kontroli procesu technologicznego)

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Zaawansowane programowanie obiektowe - wykład 5

Równoważenie obciążenia w sieci robotów internetowych. Adam Grycner, nr indeksu Łukasz Kornek, nr indeksu czerwca 2011

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

Bezpieczne miasto. koncepcja i rozwiązania w projekcie Mayday Euro 2012

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Remote Quotation Protocol - opis

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II


Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

GML w praktyce geodezyjnej

Krajowy Punkt Dostępowy doświadczenia z realizacji projektu

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Metody ilościowe w badaniach ekonomicznych

Modelowanie i Programowanie Obiektowe

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Automatyzacja procesu tworzenia i zarządzania Wirtualnymi Organizacjami w oparciu o wiedzę w zastosowaniu do architektur zorientowanych na usługi

Wykład I. Wprowadzenie do baz danych

Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum

Webowy generator wykresów wykorzystujący program gnuplot

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Integracja Obieg Dokumentów - GiS Spis treści

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Transkrypt:

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 1/20 Design and Java implementation of the multi-agent platform for multi-commodity exchange Piotr Pałka, Marcin Całka, Mariusz Kaleta, Eugeniusz Toczyłowski, Tomasz Traczyk Institute of Control and Computation Engineering Warsaw University of Technology III Krajowa Konferencja Naukowa Technologie Przetwarzania Danych Poznań, 21-23 czerwca 2010

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 1/20 Design and Java implementation of the multi-agent platform for multi-commodity exchange Piotr Pałka, Marcin Całka, Mariusz Kaleta, Eugeniusz Toczyłowski, Tomasz Traczyk Institute of Control and Computation Engineering Warsaw University of Technology III Krajowa Konferencja Naukowa Technologie Przetwarzania Danych Poznań, 21-23 czerwca 2010 Dzień dobry Państwu, nazywam się Piotr Pałka, chciałbym przedstawić Państwu projekt wieloagentowej platformy wymiany wielotowarowej, jego implementację w Javie, problemy na jakie natknęliśmy się w czasie implementacji oraz ewaluację rozwiązania.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 2/20 Cel pracy, definicje Cel pracy Teza Możliwe jest zaimplementowanie wieloagentowej platformy wymiany wielotowarowej w środowisku Java, wykorzystując model danych M 3, standardy komunikacji FIPA oraz frameworki Javy: JAXB oraz JADE.

Teza 2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 2/20 Cel pracy, definicje Cel pracy Możliwe jest zaimplementowanie wieloagentowej platformy wymiany wielotowarowej w środowisku Java, wykorzystując model danych M 3, standardy komunikacji FIPA oraz frameworki Javy: JAXB oraz JADE. Podczas tej prezentacji pokażę Państwu, że możliwa jest implementacja wieloagentowej platformy wymiany wielotowarowej w języku Java, wykorzystująca model M 3, standardy FIPA rozszerzone o możliwości handlu wielotowarowego, SolverM3 służący do rozwiązywania mechanizmów rynkowych opisanych w języku M3XML, oraz frameworki JAXB oraz JADE. Na kolejnych slajdach wyjaśnię terminy systemu wieloagentowego oraz wymiany wielotowarowej

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 3/20 Cel pracy, definicje 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 3/20 Cel pracy, definicje System wieloagentowy 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; System wieloagentowy jest systemem złożonym z wielu agentów programowych (badź softwarowych). System taki powinien realizować pewne cele nadrzędne, lecz nie bezpośrednio, ale przez działania indywidualne agentów i przez ich wzajemne interakcje. Agenty zaś są elementami oprogramowania, każdy z agentów dąży do spełnienia swoich indywidualnych celów. W platformie handlu, poszczególne agenty będą reprezentowały uczestników rynku, zaś cele nadrzędne będą celami pewnego mechanizmu rynkowego.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 4/20 Cel pracy, definicje 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.

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 4/20 Cel pracy, definicje Model M 3 Handel wielotowarowy i 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. Przez handel wielotowarowy rozumiemy jednoczesny handel wieloma towarami, z uwzględnieniem ograniczeń, jakie między nimi zachodzą. Jest to bardzo ogólna definicja, która obejmuje zarówno handel jednotowarowy (z jakim najczęściej mamy do czynienia, np. na Allegro) jak i bardzo złożone platformy handlu (np. rynek energii elektrycznej, handel pozwoleniami na emisję CO2). Do opisu danych dotyczących handlu wielotowarowego, używamy modelu M 3, dane zapisujemy w notacji M3-XML

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 5/20 Projekt systemu Projekt wieloagentowej platformy handlu wielotowarowego Projekt systemu Struktura ról agentów; Środowisko wieloagentowe; Mechanizmy komunikacji; Model ofertowania; Mechanizm rynkowy;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 5/20 Projekt systemu Projekt wieloagentowej platformy handlu wielotowarowego Projekt wieloagentowej platformy handlu wielotowarowego Projekt systemu Struktura ról agentów; Środowisko wieloagentowe; Mechanizmy komunikacji; Model ofertowania; Mechanizm rynkowy; Teraz przejdę do projektu wieloagentowej platformy handlu wielotowarowego. Projekt ten zakłada wyróżnienie następujących elementów: powinna powstać struktura agentów, które będą wchodziły ze sobą w interakcje. Aby umożliwić agentom komunikację, powinny one być zanurzone w środowisku wieloagentowym, które dostarczy odpowiednich mechanizmów komunikacji. Powinien zostać zaproponowany odpowiedni model ofertowania, dzięki któremu poszczególne agenty będą mogły wyrazić swoje preferencje. W końcu, jak wspomniałem już wcześniej, cele nadrzędne systemu wieloagentowego są tożsame z celami mechanizmu rynkowego.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 6/20 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 6/20 Struktura agentów Struktura agentów rynek scentralizowany 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; Podstawowe role agentów związane z rynkiem scentralizowanym to agent handlujący, który formułuje oferty; oraz agent operator rynku, który zbiera oferty od agentów handlujących. Agenci handlujący, działają zgodnie ze swoimi preferencjami, zaś agent operator rynku podejmuje decyzje zgodnie z regułami odpowiedniego mechanizmu rynkowego.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 7/20 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 7/20 Struktura agentów Struktura agentów rynek rozproszony 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; Z kolei ze strukturą rynku rozproszonego, związane są dwie inne role agentów: agent negocjator, którego zadaniem jest zawieranie najbardziej korzystnych kontraktów, kontrakty te mogą być poprzedzone złożonymi negocjacjami. Ponieważ w środowisku rozproszonym, nie możemy założyć że poszczególne agenty będą wiedziały o swoim istnieniu, zakładamy istnienie jednego, bądź więcej agentów Morris column. Agenty te służą jako pewne słupy ogłoszeniowe, na których pozostałe agenty wieszają ogłoszenia dotyczące prowadzonych negocjacji. Agent Morris column może także istnieć na rynkach scentralizowanych

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 8/20 Struktura agentów Agenty agregujące Agenty agregujące Agregator; Pośrednik; Odsprzedawca;

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 9/20 Środowisko wieloagentowe Środowisko wieloagentowe JADE Agenty, aby mogły się komunikować, muszą być osadzone w pewnym środowisku wieloagentowym. 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.

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 9/20 Środowisko wieloagentowe Środowisko wieloagentowe JADE Środowisko wieloagentowe JADE Agenty, aby mogły się komunikować, muszą być osadzone w pewnym środowisku wieloagentowym. 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. Jak wcześniej wspomniałem, agenty aby mogły się ze sobą komunikować, muszą być zanurzone w pewnym środowisku wieloagentowym. Takiego środowiska dostarcza framework JADE. Implementuje on standardy komunikacji wieloagentowej zaproponowane w standardach organizacji FIPA.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 10/20 Język komunikacji agentów Język komunikacji agentów Schematy wymiany komunikatów Zmodyfikowany schemat wymiany komunikatów Contract Net Interaction Protocol Zestaw aktów komunikacyjnych Zestaw aktów komunikacyjnych (performatyw) zaproponowanych przez organizację FIPA; Język treści komunikatów Propozycja nowego języka treści komunikatów, opartego o język M3-XML;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 10/20 Język komunikacji agentów Język komunikacji agentów Język komunikacji agentów Schematy wymiany komunikatów Zmodyfikowany schemat wymiany komunikatów Contract Net Interaction Protocol Zestaw aktów komunikacyjnych Zestaw aktów komunikacyjnych (performatyw) zaproponowanych przez organizację FIPA; Język treści komunikatów Propozycja nowego języka treści komunikatów, opartego o język M3-XML; Mechanizmy komunikacji, nazywane też językiem komunikacji agentów, są potrzebne, aby agenty mogły się ze sobą porozumieć. W projekcie wykorzystujemy standardy komunikacji, zaproponowane przez ogranizację FIPA. Standaryzuje ona komunikację na trzech poziomach: Na poziomie aktów komunikacyjnych - czyli pojedynczych komunikatów, których interpretacja jest zależna od nazwy (tzw. performatywy) aktu; Na poziomie protokołu komunikacji - czyli pewnego schematu wymiany aktów komunikacyjnych Oraz na poziomie języka treści - czyli zawartości aktu komunikacyjnego. Proponujemy pewne modyfikacje standardów FIPA: modyfikacja schematów wymiany komunikatów Contract Net Interaction Protocol oraz Iterated Contract Net Interaction Protocol, oraz nowe języki treści oparte o notację M3-XML.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 11/20 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 11/20 Model ofertowania 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; Model ofertowania powinien pozwolić oferentom na elastyczne wyrażanie swoich preferencji poprzez pewne sparametryzowane oferty. Rozwiązaniem jest model ofert M 3, dzięki któremu uczestnicy mogą składać oferty zarówno proste, jak i bardziej złożone oferty na wiązki towarów, a także oferty grupujące, które wyrażają pewne ograniczenia, jakie określa oferent pomiędzy poszczególnymi towarami

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 12/20 Mechanizm rynkowy Mechanizm rynkowy Mechanizm rynkowy Określa w jaki sposób rozdzielić oferty uczestników na przyjęte i odrzucone 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 mechanizmów rynkowych;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 12/20 Mechanizm rynkowy Mechanizm rynkowy Mechanizm rynkowy Mechanizm rynkowy Określa w jaki sposób rozdzielić oferty uczestników na przyjęte i odrzucone 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 mechanizmów rynkowych; Mechanizm rynkowy określa w jaki sposób rozdzielić oferty uczestników na przyjęte i odrzucone, oraz jakie ceny przypisać poszczególnym towarom. Poprawnie zaprojektowany mechanizm rynkowy ma określone istotne właściwości (czyli np. jest niewrażliwy na spekulacje (albo jest wrażliwy), jest sprawiedliwy, itd.).

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 13/20 Mechanizm rynkowy 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 13/20 Mechanizm rynkowy 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; Aby ułatwić agentom korzystanie z notacji M3XML, wprowadziliśmy odpowiednie narzędzia oraz frameworki. Dane do mechanizmu rynkowego mogą zostać zapisane w modelu M 3. Narzędzie SolveM3, realizuje rozwiązywanie reguł alokacji i reguł wyceny zapisanych w notacji M3XML.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 14/20 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 14/20 Integracja modelu M 3 z 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; Aby ułatwić agentom korzystanie z fragmentów danych, które są zapisywane w notacji M3MXL, wprowadzono mapowanie XML do klas Javy za pomocą frameworka JAXB. Dzięki temu, agenty uzyskując pewne informacje w M3XML, mogą je swobodnie obrabiać (np. składając oferty) korzystając z metod Javy, a następnie mapować je z powrotem do formatu M3XML.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 15/20 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ń

Problemy napotkane podczas implementacji 2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 15/20 Napotkane problemy problem pożądane rozwiązanizanie ostateczne rozwią- Implementacja instancja agent Directory Facilitator go agenta rozszerzenie zwykłe- agenta Morris Column Zmodyfikowane protokoły interakcji jade.proto cja grafy rozszerzenie klasy własna implementa- zachowań Podczas implementacji napotkaliśmy dwa problemy. Jednym z nich, była próba implementacji agenta Morris column jako rozszerzenie specjalnego typu agenta Directory Facilitator (pełni on funkcję Yellow Pages). Jednak ze względu na potrzebę przekazywania do agenta Morris Column złożonych treści, w językach M3XML, XPath oraz XQuery, nie udało się tego zrealizować. Zaimplementowano więc go jako rozszerzenie zwykłego agenta. Drugi problem wynikł z potrzeby rozszerzenia protkołów interakcji. Chcieliśmy zrealizować wymianę komunikatów za pomocą interfejsu jade.proto, ale ze względu na sztywność tego rozwiązania, byliśmy zmuszeni zastosować inne rozwiązanie, oparte o grafy zachowań agentów.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 16/20 Ewaluacja Wyniki negocjacji Negocjacje założenia Handel pozwoleniami na emisję CO2; Pięć podmiotów (USA, EU, Japonia, CANZ (Kanada, Australia, Nowa Zelandia) oraz kraje byłego ZSRR (WNP)) reprezentowane przez agentów negocjatorów; Każdy z podmiotów posiada dane na temat: limitu emisji CO2 (limit Kioto); funkcji kosztów redukcji emisjii; Agenty mogą zawierać kontrakty na sprzedaż/zakup pozwoleń na emisję, lub przeznaczyć pieniądze na redukcję emisjii; Założenia organizacja agentów Każdy z agentów może być aktywny bądź pasywny; Pasywne agenty rejestrują na Morris Column chęć do negocjacji; Aktywne agenty poszukują na Morris Column partnerów do negocjacji; Po skojarzeniu pary agentów następują negocjacje;

Negocjacje założenia 2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 16/20 Ewaluacja Wyniki negocjacji Handel pozwoleniami na emisję CO2; Pięć podmiotów (USA, EU, Japonia, CANZ (Kanada, Australia, Nowa Zelandia) oraz kraje byłego ZSRR (WNP)) reprezentowane przez agentów negocjatorów; Każdy z podmiotów posiada dane na temat: limitu emisji CO2 (limit Kioto); funkcji kosztów redukcji emisjii; Agenty mogą zawierać kontrakty na sprzedaż/zakup pozwoleń na emisję, lub przeznaczyć pieniądze na redukcję emisjii; Założenia organizacja agentów Każdy z agentów może być aktywny bądź pasywny; Pasywne agenty rejestrują na Morris Column chęć do negocjacji; Aktywne agenty poszukują na Morris Column partnerów do negocjacji; Po skojarzeniu pary agentów następują negocjacje; Działanie platformy zostało zbadane na przykładzie z pracy Joanny Horabik, dotyczącej handlu pozwoleniami na emisję CO2 (przykład ten nie został zamieszczony w pracy). Zakładamy istnienie pięciu podmiotów: (USA, EU, Japonia, CANZ (Kanada, Australia, Nowa Zelandia) oraz kraje byłego ZSRR (WNP)). Każdy podmiot jest reprezentowany przez jednego agenta negocjatora. Każdy z podmiotów posiada informacje na temat swojego limitu emisjii CO2 (tzw. limit Kioto), oraz zna swoją funkcję kosztów redukcji emisjii. Agenty mogą handlować pozwoleniami na emisję, aby zmniejszyć swoje łączne koszty redukcji emisjii. Agenty są zorganizowane w następujący sposób: każdy z agentów może zainicjować negocjacje, bądź oczekiwać na zgłoszenie się partnera. Agenty korzystają w tym procesie z agenta Morris Column.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 17/20 Ewaluacja Wyniki negocjacji Wyniki negocjacji przeprowadzono 10 symulacji Negocjując dochodzą do rozwiązania (zbliżonego do rozwiązania rozważanego w innych pracach); Zawieranych jest około 200-230 kontraktów między agentami; W wyniku zawartych kontraktów ustala się (prawie) jednolita cena pozwolenia na emisję (około 141 $/Mt); Łączne koszty (dla wszystkich podmiotów) redukcji emisjii zmniejszają się o około 20,5 tys./$;

Wyniki negocjacji przeprowadzono 10 symulacji 2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 17/20 Ewaluacja Wyniki negocjacji Negocjując dochodzą do rozwiązania (zbliżonego do rozwiązania rozważanego w innych pracach); Zawieranych jest około 200-230 kontraktów między agentami; W wyniku zawartych kontraktów ustala się (prawie) jednolita cena pozwolenia na emisję (około 141 $/Mt); Łączne koszty (dla wszystkich podmiotów) redukcji emisjii zmniejszają się o około 20,5 tys./$; Agenty negocjują ze sobą, dobierając partnerów w sposób losowy, losowo dobierane są także ilości wymienianych pozwoleń. Zawierają 200-230 kontraktów, w wyniku zawartych kontraktów ustala się (prawie) jednolita cena pozwolenia na emisję, także łączne koszty redukcji emisji zmniejszają się o około 20,5 tys $

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 18/20 Ewaluacja 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.

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 18/20 Ewaluacja Właściwości techniczne Badanie szybkości przekazywania komunikatów Badanie szybkości przekazywania komunikatów 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. Rysunek: Konfiguracja eksperymentu Badano także wydajność platformy, pod względem szybkości wymiany komunikatów. Mierzyliśmy czas przesłania pojedynczego aktu komunikacyjnego propose oraz czas trwania pojedynczego procesu negocjacji (czyli czas trwania protokołu interakcji Iterated Contract Net Interaction Protocol. Badania przeprowadziliśmy dla różnej liczby agentów na 10 maszynach połączonych siecią LAN.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 19/20 Ewaluacja 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

Czas przesłania pojedynczego aktu komunikacyjnego (propose) 2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 19/20 Ewaluacja Właściwości techniczne 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 Jak widać, nawet dla 1000 agentów, średni czas przesłania pojednycznego aktu propose jest bardzo któtki, wynosi do kilkunastu milisekund. Także średni czas trwania negocjacji (stosowana była prosta strategia negocjacji, wymieniano łącznie 2 do 6 aktów propose + dodatkowe komunikaty) jest niedługi dla 10 000 negocjujących ze sobą agentów wynosi niecałe 200 ms. Można więc stwierdzić, że rozwiązanie jest szybkie.

Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 20/20 Podsumowanie 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;

2011-05-31 Projekt i implementacja wieloagentowej platformy handlu wielotowarowego w języku Java 20/20 Podsumowanie Podsumowanie 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; Podsumowując, teza zosała udowodniona: możliwa jest implementacja wieloagentowej platformy wymiany wielotowarowej w środowisku Java, wykorzystując model danych M 3, standardy komunikacji FIPA oraz frameworki Javy: JAXB oraz JADE. Platforma cechuje się szybką wymianą komunikatów, jest dobrym szkieletem do implementacji specjalizowanych rozwiązań, np. do zaprezentowanego handlu pozwoleniami na emisję CO2. Posiada ona duże możliwości rozwoju dzięki zastosowaniu modelu M 3 do opisu danych rynkowych.