Autoreferat - Wydział Informatyki

Transkrypt

Autoreferat - Wydział Informatyki
Autoreferat
Dariusz Barbucha
Katedra Systemów Informacyjnych
Akademia Morska w Gdyni
30 czerwca 2014
1. Posiadane dyplomy, stopnie naukowe/ artystyczne – z podaniem nazwy, miejsca
i roku ich uzyskania oraz tytułu rozprawy doktorskiej.
•
Magister matematyki, specjalność: metody numeryczne i programowanie.
Wydział Matematyki, Fizyki i Chemii Uniwersytetu Gdańskiego (1990).
Tytuł rozprawy: Nierozstrzygalne własności sieci Petriego.
•
Doktor nauk technicznych w zakresie informatyki, specjalność: teoria algorytmów.
Wydział Elektryczny Politechniki Poznańskiej (1999).
Tytuł rozprawy: Optymalizacyjne problemy załadunku z uwzględnieniem segregacji.
2. Informacje o dotychczasowym zatrudnieniu w jednostkach naukowych/
artystycznych.
•
Asystent w Katedrze Informatyki (poprzednio Zakład Informatyki i Analizy Systemów)
Akademii Morskiej w Gdyni (1991 – 2000).
•
Adiunkt w Katedrze Systemów Informacyjnych (poprzednio Katedra Informatyki)
Akademii Morskiej w Gdyni (2000 – obecnie).
3. Wskazanie osiągnięcia1 wynikającego z art. 16 ust. 2 ustawy z dnia 14 marca 2003 r.
o stopniach naukowych i tytule naukowym oraz o stopniach i tytule w zakresie sztuki
(Dz. U. nr 65, poz. 595 ze zm.):
a) tytuł osiągnięcia naukowego/artystycznego
Jednotematyczny cykl publikacji pt.
Wieloagentowe algorytmy kooperacyjne do rozwiązywania problemów
wyznaczania tras pojazdów
b) autor/autorzy, tytuł/tytuły publikacji, rok wydania, nazwa wydawnictwa
[1] Barbucha, D., Jędrzejowicz, P.: An experimental investigation of the synergetic
effect of multiple agents working together in the A-Team. Systems Science 34
(2), 55-62 (2008).
1
w przypadku, gdy osiągnięciem tym jest praca/ prace wspólne, należy przedstawić oświadczenia
wszystkich jej współautorów, określające indywidualny wkład każdego z nich w jej powstanie
1
[2] Barbucha, D., Czarnowski, I., Jędrzejowicz, P., Ratajczak-Ropel, E.,
Wierzbowska, I.: e-JABAT – An Implementation of the Web-Based A-Team.
In: Nguyen, N.T., Jain, L.C. (eds.) Intelligent Agents in the Evolution of Web and
Applications. Studies in Computational Intelligence 167, pp. 57-86. Springer,
Berlin/Heidelberg (2009).
[3] Barbucha, D., Czarnowski, I., Jędrzejowicz, P., Ratajczak-Ropel, E.,
Wierzbowska, I.: Influence of the Working Strategy on A-Team Performance.
In: Szczerbicki, E., Nguyen, N.T. (eds.) Smart Information and Knowledge
Management. Studies in Computational Intelligence 260, pp. 83-102. Springer,
Berlin/Heidelberg (2010).
[4] Barbucha, D.: Agent-based guided local search. Expert Systems with
Applications 39 (15), 12032-12045 (2012).
[5] Barbucha, D.: Search modes for the cooperative multi-agent system solving the
vehicle routing problem. Neurocomputing 88, 13-23 (2012).
[6] Barbucha, D.: A New Cooperative Search Strategy for Vehicle Routing
Problem. In: Nguyen, N.T., Hoang, K., Jędrzejowicz, P. (eds.) Computational
Collective Intelligence. Technologies and Applications. LNCS, vol. 7654, pp. 433442. Springer, Berlin/Heidelberg (2012).
[7] Barbucha, D.: Experimental Study of the Population Parameters Settings in
Cooperative Multi-agent System Solving Instances of the VRP. LNCS
Transactions on Computational Collective Intelligence IX. LNCS, vol. 7770, pp.
1–28. Springer, Berlin Heidelberg (2013).
[8] Barbucha, D: Solving Instances of the Capacitated Vehicle Routing Problem
Using Multi-agent Non-distributed and Distributed Environment. In:
Czarnowski, I., Jędrzejowicz, P., Kacprzyk, J. (eds.) Agent-Based Optimization.
Studies in Computational Intelligence 456, pp. 55–75. Springer, Berlin/Heidelberg
(2013).
[9] Barbucha, D: A Cooperative Agent-Based Multiple Neighborhood Search for
the Capacitated Vehicle Routing Problem. In: Tweedale, J.W., Jain, L.C. (eds.)
Recent Advances in Knowledge-based Paradigms and Applications. Advances in
Intelligent Systems and Computing 234, pp. 129-143. Springer, Berlin (2014).
[10] Barbucha, D.: Team of A-Teams Approach for Vehicle Routing Problem with
Time Windows. In: Terrazas, G., Otero, F.E.B., Masegosa, A.D. (eds.) Nature
Inspired Cooperative Strategies for Optimization (NICSO 2013) - Learning,
Optimization and Interdisciplinary Applications. Studies in Computational
Intelligence 512, pp. 273-286. Springer, Berlin Heidelberg (2014).
[11] Barbucha, D.:A Hybrid Cooperative and Reactive Search Approach for
Vehicle Routing Problem with Time Windows. In: Nguyen, N.T. et al. (eds.):
ACIIDS 2014, Part II. LNAI, vol. 8398, pp. 207–216. Springer, Berlin Heidelberg
(2014).
[12] Barbucha, D.: A Cooperative Population Learning Algorithm for Vehicle
Routing Problem with Time Windows. Neurocomputing (2014). Zaakceptowany.
DOI: http://dx.doi.org/10.1016/j.neucom.2014.06.033.
c) omówienie celu naukowego/artystycznego ww. pracy/prac i osiągniętych wyników
wraz z omówieniem ich ewentualnego wykorzystania
Wstęp
Celem naukowym badań przedstawionych w jednotematycznym cyklu publikacji było
opracowanie nowych efektywnych wieloagentowych algorytmów kooperacyjnych do
rozwiązywania obliczeniowo trudnych problemów wyznaczania tras pojazdów. Zaproponowane
algorytmy wykorzystują wiele metod heurystycznych (reprezentowanych przez agentów
programowych), połączonych w jedną skuteczną i spójną strategię rozwiązywania określonego
problemu. W ramach tej strategii uwypuklony jest aspekt kolektywnego współdziałania między
2
agentami na różnych etapach rozwiązywania określonego problemu, prowadzący do uzyskania
efektu synergii. Wśród problemów, które przebadano pod kątem efektywności
zaproponowanego podejścia są: klasyczny problem wyznaczania tras pojazdów (Vehicle
Routing Problem – VRP), problem wyznaczania tras pojazdów z ograniczeniami
pojemnościowymi (Capacitated Vehicle Routing Problem – CVRP), oraz problem wyznaczania
tras pojazdów z okienkami czasowymi (Vehicle Routing Problem with Time Windows –
VRPTW).
VRP można zdefiniować w postaci grafu nieskierowanego G = (V, E), gdzie V = {0, 1, …, n}
jest zbiorem wierzchołków, a E = {(i,j) | i,j ∈ V} jest zbiorem krawędzi. Wierzchołek
oznaczony numerem 0 jest centralnym punktem (magazynem), któremu przypisanych jest K
identycznych pojazdów o pojemności W. Każdy z pozostałych wierzchołków i ∈ V\{0} oznacza
klienta, który określa swoje zapotrzebowanie na transportowany ładunek w ilości di., oraz
dodatkowo jest on scharakteryzowany przez czas jego obsługi si. Każda krawędź (i,j) ∈ E
odpowiada najkrótszej ścieżce od klienta i do klienta j i jest opisana przez koszt cij transportu
z i do j oraz czas przejazdu tij pomiędzy i oraz j (i,j ∈ V). Ponadto, czas T określa maksymalny
dopuszczalny czas przejazdu każdego pojazdu na trasie. Celem jest zaprojektowanie tras
przejazdu poszczególnych pojazdów w sposób, który zapewni osiągnięcie minimalnego kosztu
transportu, przy spełnieniu następujących ograniczeń: każdy pojazd rozpoczyna i kończy swoją
podróż w centralnym punkcie, każdy klient i ∈ V\{0} jest odwiedzany dokładnie jeden raz przez
dokładnie jeden pojazd, łączna wielkość ładunku transportowanego przez każdy pojazd na danej
trasie nie przekracza pojemności pojazdu W oraz łączny czas przejazdu pojazdu na trasie nie
może przekroczyć maksymalnego dopuszczalnego czasu T. Rezygnacja z ostatniego
ograniczenia prowadzi do problemu CVRP, będącego szczególnym przypadkiem VRP. Z kolei,
problem, w którym dodatkowo dla każdego klienta i∈V\{0} określa się przedział czasu [ei, li],
w jakim jest on gotowy przyjąć ładunek oraz wynikające z tego ograniczenie o konieczności
zaspokojenia jego potrzeb w tym czasie, to VRPTW.
Budowa efektywnych algorytmów kooperacyjnych do rozwiązywania obliczeniowo trudnych
problemów optymalizacyjnych stawia wiele wyzwań. Z jednej strony dotyczą one opracowania
zbioru agentów programowych, reprezentujących efektywne metody rozwiązania określonego
problemu optymalizacyjnego. Z drugiej strony, wymagają opracowania spójnej i efektywnej
strategii rozwiązywania problemu z wykorzystaniem tych agentów, zapewniającej ich
współpracę podczas całego procesu rozwiązywania problemu. Prowadzone badania obejmowały
oba powyższe kierunki.
W ramach badań zaproponowano i dokonano implementacji wielu zespołów agentów
programowych do rozwiązania wyżej wymienionych problemów. Wykorzystano hybrydowe
połączenia różnych klas metod, obejmujących zarówno implementacje metod lokalnego
przeszukiwania, jak również metaheurystyk. W zakresie schematu kooperacji, wykorzystano
podejście oparte na wspólnej (centralnej) pamięci przechowującej populację rozwiązań. W
schemacie tym, agenci współpracują poprzez współdzielenie dostępu do pamięci. Poszczególni
agenci działają tworząc, modyfikując bądź usuwając rozwiązania z populacji rozwiązań,
a kooperacja jest oparta na zasadzie, iż jedni agenci pracują z rozwiązaniami wygenerowanymi
lub zmodyfikowanymi przez innych agentów. W trakcie rozwiązywania, ulepszone rozwiązania
są dodawane do populacji, a słabe są z niej usuwane, prowadząc sukcesywnie do uzyskania
najlepszego rozwiązania. Sam proces poszukiwania najlepszego rozwiązania ma charakter
scentralizowany, a kooperacja między agentami lub zespołami agentów, może odbywać się
w sposób pośredni lub bezpośredni.
Jakość wyników uzyskiwanych przez algorytmy oparte na zespołach agentów programowych
może zależeć od wielu czynników, związanych zarówno ze specyfiką oparcia proponowanego
podejścia na ewolucji populacji (wielkość populacji, postać osobników, sposób zarządzania
populacją, itp.), ze specyfiką samych agentów programowych (użyte metody), jak również ze
sposobem łączenia tych agentów w zespoły (liczba agentów, ich rodzaj, sposób komunikacji
między nimi, itp.). Stąd integralną częścią prowadzonych badań była ocena zaproponowanych
rozwiązań w oparciu o eksperymenty obliczeniowe i statystyczną analizę danych.
3
Eksperymenty zmierzały w kierunku określenia wpływu wybranych parametrów
charakteryzujących zespoły agentów programowych, na efektywność rozwiązań uzyskiwanych
za ich pomocą. Jako miary jakości uzyskiwanych rozwiązań przyjęto: średni błąd względny
(MRE) uzyskanego rozwiązania od najlepszego znanego rozwiązania dla danej instancji
określonego problemu optymalizacyjnego, jak również czas obliczeń niezbędny do uzyskania
takiego rozwiązania. W przypadku wszystkich testowanych problemów, eksperymenty
przeprowadzono na zestawach danych benchmarkowych dostępnych w publicznych
repozytoriach danych dla VRP oraz VRPTW.
Przedstawione w jednotematycznym cyklu publikacje obejmują: 3 publikacje w czasopismach z
listy JCR [4, 5, 12], 2 publikacje w innych czasopismach [1, 7], 2 publikacje w periodykach z
serii LNCS/LNAI [6, 11] oraz 5 rozdziałów w monografiach [2, 3, 8, 9, 10]. Według Web of
Science, łącznie uzyskały one 32 cytowania, w tym 25 – bez autocytowań. Łączny Impact
Factor tych prac, według stanu obecnego, wynosi 5.122, natomiast łączna liczba punktów,
według aktualnej punktacji MNiSW, wynosi 150.
Charakterystyka badań i uzyskanych wyników
Zaproponowane w badaniach algorytmy kooperacyjne oparto na zespołach agentów
programowych, w których pojedynczy zespół tworzą:
•
Zbiór agentów optymalizacyjnych (optimizing agents), reprezentujących dedykowane
metody rozwiązywania określonego problemu optymalizacyjnego i uczestniczących
bezpośrednio w procesie poszukiwania najlepszego rozwiązania, oraz agent
koordynator (solution manager), nadzorujący i koordynujący pracę agentów
optymalizacyjnych.
•
Wspólna, dzielona pamięć (common sharable memory), w której przechowywana jest
populacja osobników reprezentujących rozwiązania określonego problemu. W trakcie
procesu rozwiązywania problemu populacja ewoluuje, począwszy od populacji
początkowej, poprzez populację rozwiązań pośrednich, uzyskanych podczas procesu
poszukiwania najlepszego rozwiązania, aż do etapu, gdzie najlepsze rozwiązanie
przechowywane w populacji jest traktowane jako ostateczne rozwiązanie instancji
określonego problemu optymalizacyjnego. Za zarządzanie populacją rozwiązań
odpowiedzialny jest agent koordynator, dysponujący zbiorem procedur, zdefiniowanych
w ramach strategii zarządzania populacją rozwiązań, umożliwiających m.in. tworzenie
populacji początkowej, czy też odczyt/zapis rozwiązań z/do populacji w trakcie
rozwiązywania problemu.
•
Schemat kooperacji (cooperation scheme), umożliwiający zespołowi kolektywne
rozwiązywanie określonego problemu, operując na rozwiązaniach przechowywanych
w pamięci. Zapewnia on efektywną wymianę bieżących informacji dotyczących
rozwiązań poprawianych w trakcie poszukiwania najlepszego rozwiązania pomiędzy
agentami.
Podstawowa funkcjonalność zaproponowanego podejścia obejmuje organizację i nadzorowanie
procesu poszukiwania najlepszego rozwiązania przez zespół agentów. Zawiera on etapy
generowania populacji początkowej, a następnie sukcesywnego (powtarzanego w pętli, aż do
osiągnięcia kryterium stopu) poprawiania przez agentów optymalizacyjnych rozwiązań z
populacji. Wspomniana powyżej strategia zarządzania populacją rozwiązań, określa które
rozwiązania są poprawiane przez agentów optymalizacyjnych na danym etapie rozwiązywania
problemu, jak również, w jaki sposób poprawione rozwiązania są włączane do aktualnej
populacji rozwiązań. Po osiągnięciu kryterium stopu, najlepsze rozwiązanie z populacji stanowi
rozwiązanie problemu.
W ramach badań, opracowano i zaimplementowano środowisko programowe wspomagające
budowę oraz testowanie zespołów agentów programowych przeznaczonych do rozwiązywania
4
obliczeniowo trudnych problemów optymalizacyjnych (nazwane e-JABAT). Szczegóły
zastosowanej struktury zespołów agentów programowych oraz charakterystykę samego
środowiska e-JABAT przedstawiono w pracy [2].
Jednym z podstawowych oczekiwań wobec algorytmów kooperacyjnych opartych na zespołach
agentów programowych jest zdolność agentów do kolektywnej pracy nad rozwiązywaniem
określonego problemu. W efekcie ma to prowadzić do osiągnięcia efektu synergii, dzięki
któremu rezultat końcowy pracy całego zespołu będzie lepszy niż suma efektów
poszczególnych jego członków. W pracy [1] dokonano eksperymentalnej oceny istnienia i siły
efektu synergii wytworzonego przez zespół agentów rozwiązujący wybrane instancje VRP. W
tym celu zaproponowano zestaw agentów programowych, reprezentujących wybrane
dedykowane algorytmy o różnej złożoności do rozwiązania wspomnianego wyżej problemu. Na
ich bazie konstruowano następnie zespoły, rozpatrując wszystkie możliwe połączenia tych
agentów w ramach zespołu i analizując ich zachowanie.
Rezultaty uzyskane podczas eksperymentów poddano ocenie porównując średni błąd względny
(MRE) uzyskanego rozwiązania w stosunku do najlepszego znanego rozwiązania dla danej
instancji oraz czas obliczeń niezbędny do uzyskania rozwiązania. W wyniku przeprowadzonej
analizy uzyskanych wyników stwierdzono występującą silną zależność pomiędzy liczbą
i rodzajem agentów wchodzących w skład zespołu a jakością uzyskiwanych rozwiązań. Dla
większości testowanych instancji VRP, zaobserwowano, że średnia wartość MRE zmniejszała
się wraz ze wzrostem liczby agentów wchodzących w skład zespołu, a najlepsze wyniki
uzyskiwane były przez zespoły, w których wszyscy zaproponowani agenci byli zaangażowani
w proces rozwiązywania problemu. Wykazano również, że obecność w składzie zespołu
agentów, reprezentujących algorytmy o większej złożoności, w dużym stopniu zapewnia
uzyskanie lepszych rezultatów.
Z uwagi na fakt, iż skuteczność metod opartych na ewolucji populacji często zależy od
właściwego dostrojenia wartości wybranych parametrów, w pracy [7] dokonano oceny, w jakim
stopniu wybrane cechy populacji (jej wielkość oraz metoda tworzenia), wpływają na wyniki
uzyskiwane przez zespół agentów przy rozwiązywaniu instancji VRP. Eksperyment
przeprowadzono dla różnych scenariuszy, w których przyjęto różne wielkości populacji
i zdefiniowano kilka metod tworzenia populacji początkowej, o różnym zróżnicowaniu
osobników wewnątrz niej. Ponadto, dla każdego scenariusza, rozważono zachowanie zespołów
agentów w obecności statycznego oraz adaptacyjnego kryterium stopu. Podczas, gdy
w pierwszym z nich, proces poszukiwania najlepszego rozwiązania zatrzymuje się po pewnym,
z góry określonym, czasie, w drugim – proces ten zatrzymuje się, gdy w ciągu określonego
czasu, nie nastąpi poprawa najlepszego, dotychczas uzyskanego, rozwiązania znajdującego się
w populacji.
Uzyskane w wyniku eksperymentów rezultaty pozwoliły wykazać, że zarówno wielkość
populacji rozwiązań, jak również sposób jej tworzenia, mają wpływ na jakość uzyskiwanych
rozwiązań (w sensie MRE), chociaż siła tej zależności nie jest taka sama dla wszystkich
przypadków. Analizując uzyskane wyniki w kontekście dwóch rodzajów kryterium stopu,
stwierdzono, że wykorzystanie statycznego kryterium, skutkowało zróżnicowaniem jakości
uzyskiwanych wyników w zależności od użytej metody tworzenia populacji początkowej.
Zaobserwowano, że tworzenie populacji w sposób losowy prowadziło do uzyskiwania wyników
gorszych, niż miało to miejsce w przypadku wykorzystania metod mniej dywersyfikujących
populację rozwiązań. Natomiast, niezależnie od użytej metody tworzenia populacji rozwiązań,
użycie zbyt małej populacji lub zbyt dużej skutkowało uzyskiwaniem gorszych rezultatów niż
w przypadkach populacji o liczebności pośredniej. Z drugiej strony, zastosowanie
adaptacyjnego kryterium stopu prowadziło do uzyskiwania wyników o podobnej jakości,
niezależnie od użytej metody tworzenia populacji początkowej, przy czym czas uzyskania
rozwiązań był różny w zależności od sposobu tworzenia populacji rozwiązań. Zdecydowanie
wolniejszą zbieżność zaobserwowano przy wykorzystaniu losowych metod tworzenia populacji
początkowej. Jakość rozwiązań początkowych utworzonych w sposób losowy była też znacznie
gorsza od tych, uzyskanych za pomocą metod dedykowanych.
5
Populacyjny charakter zaproponowanych algorytmów kooperacyjnych był również
przedmiotem badań, których wyniki przedstawiono w pracach [3, 6]. Skupiono się w nich na
strategii zarządzania populacją rozwiązań i jej wpływie na proces rozwiązywania problemu,
a tym samym na jakość uzyskiwanych wyników. W pracy [3] zaproponowano kilka strategii
zarządzania populacją rozwiązań, w ramach których zespoły agentów programowych
rozwiązywały określony problem optymalizacyjny. Podstawowa różnica między nimi dotyczyła
użytych metod odczytu/zapisu rozwiązań z/do populacji podczas rozwiązywania problemu.
I tak, zaproponowane procedury odczytu rozwiązań z populacji obejmowały m. in. operacje
wyboru losowego rozwiązania z populacji w różnych wariantach. Procedury ponownego
włączania rozwiązań w obręb populacji, obejmowały m. in. zastąpienie losowego, gorszego, czy
też najgorszego osobnika w populacji, ale również metody oparte m. in. na selekcji turniejowej,
czy też z uwzględnieniem stochastycznego uniwersalnego próbkowania. Celem
przeprowadzonego w ramach badań eksperymentu obliczeniowego było zbadanie, w jakim
stopniu jakość rozwiązań uzyskiwanych przez zespoły agentów (w sensie MRE), zależy od
użytej strategii zarządzania populacją rozwiązań. Zaproponowane strategie zastosowano
w zespołach agentów rozwiązujących instancje wybranych problemów optymalizacyjnych:
euklidesowy problem komiwojażera (ETSP), problem grupowania (CP), problem szeregowania
projektów z ograniczeniami zasobowymi (RCPSP), jak również problem wyznaczania tras
pojazdów (VRP).
Analiza uzyskanych wyników potwierdziła znaczenie doboru właściwej strategii zarządzania
populacją rozwiązań. Wykazano, że jakość rozwiązań uzyskiwanych przez zespoły agentów
często była zależna od użytej strategii, co więcej, pokazano, że dobór najlepszej strategii może
być zależny od rozwiązywanego problemu. Statystycznie różniące się wyniki zaobserwowano
dla wszystkich badanych instancji problemów ETSP oraz CP, a dla RCPSP oraz VRP – miało to
miejsce dla części z rozwiązywanych instancji. Spośród testowanych strategii, dla większości
badanych problemów, najlepsze rezultaty uzyskiwano dla zespołów, w których wykorzystano
strategię, w której losowo wybrane rozwiązanie z populacji było wysyłane do agenta
optymalizacyjnego, przy jednoczesnym zablokowaniu go przed wysyłaniem do innych agentów,
w czasie gdy był już poprawiany przez tego agenta. Z kolei, potencjalnie poprawione
rozwiązanie otrzymane od agenta optymalizacyjnego było włączane do populacji poprzez
zastąpienie pierwszego znalezionego gorszego rozwiązania. W przypadku nieznalezienia
takiego rozwiązania w kilku próbach, nowe losowo wygenerowane rozwiązanie było
wprowadzane do populacji, zastępując najgorsze rozwiązanie.
Kontynuując nurt badań związanych ze strategią zarządzania populacją rozwiązań i jej
wpływem na efektywność zespołów agentów programowych, w pracy [6] zaproponowano
złożoną strategię zarządzania populacją rozwiązań. Jej istotą jest wykorzystanie jednocześnie
kilku pojedynczych strategii, nadzorowanych przez agenta koordynatora z wykorzystaniem
mechanizmu dynamicznej ich zmiany w trakcie rozwiązywania problemu. Mając zdefiniowany
zestaw pojedynczych strategii wraz z określonym porządkiem ich zmiany podczas
rozwiązywania określonego problemu, proces poszukiwania najlepszego rozwiązania
rozpoczyna się od wykorzystania jednej ze strategii, zdefiniowanej jako domyślnej. Następnie,
w trakcie poszukiwania rozwiązania, następuje dynamiczna zmiana kolejnych strategii, przy
czym moment zmiany strategii jest określony przez kryterium stopu każdej z pojedynczych
strategii. W przypadku braku poprawy najlepszego rozwiązania przy bieżącej strategii,
wybierana jest kolejna strategia (zgodnie z ustalonym porządkiem) lub następuje powrót do
strategii domyślnej, w przeciwnym przypadku.
W implementacji, którą dokonano dla VRP w [6], obok zespołu agentów programowych,
obejmujących dedykowane heurystyki dla VRP, zdefiniowano kilka pojedynczych strategii
zarządzania populacją rozwiązań składających się na złożoną strategię. Jedną z cech
zaproponowanych pojedynczych strategii było to, iż w różnym stopniu dywersyfikowały
i intensyfikowały one proces poszukiwania najlepszego rozwiązania. Przeprowadzony
w ramach badań eksperyment obliczeniowy miał na celu sprawdzenie, czy jakość wyników (w
sensie MRE) uzyskiwanych przez zespół bazujący na takiej złożonej strategii zarządzania
6
populacją rozwiązań, przewyższa wyniki uzyskane w obecności pojedynczej strategii. Analiza
uzyskanych wyników jednoznacznie wykazała, że zaproponowana złożona strategia zarządzania
populacją rozwiązań umożliwia zespołom agentów uzyskanie rozwiązań lepszej jakości dla
wszystkich testowanych instancji VRP, w porównaniu do sytuacji, gdzie tylko jedna strategia
jest wykorzystywana. Obserwowane pogorszenie końcowego rozwiązania w ostatnim
przypadku, jest różne w zależności od użytej strategii, przy czym najmniejsze pogorszenie
zaobserwowano w przypadku pojedynczej strategii, w której zarówno odczyt, jak również zapis
rozwiązań z/do populacji, dokonywany jest w sposób losowy.
Biorąc pod uwagę fakt, iż sukces wykorzystania zespołów agentów programowych zależy nie
tylko od postaci samych agentów, ale również od tego, jak ich współpraca w ramach takiego
zespołu jest zorganizowana, w pracy [5] zaproponowano i przebadano dwa tryby
komunikowania się agentów: asynchroniczny i synchroniczny. W pierwszym z nich, agenci
optymalizacyjni otrzymują od agenta koordynatora rozwiązanie do poprawienia niezwłocznie
po zgłoszeniu przez nich swojej gotowości do działania, niezależnie od stanu i zachowania
innych agentów. W drugim natomiast, następuje synchronizacja działań wszystkich agentów.
Oznacza to, iż dopiero gdy wszyscy agenci optymalizacyjni zakończą poprawianie swoich
rozwiązań i zgłoszą swoją gotowość do dalszej pracy w danej iteracji, wtedy jest do nich
wysyłane kolejne rozwiązanie do poprawienia (takie same do wszystkich agentów lub do
każdego z nich inne).
W ramach badań zaproponowano także tryb synchroniczny z uczeniem, oparty na koncepcji
uczenia ze wzmocnieniem. Jego istotą jest zróżnicowanie częstotliwości wykorzystania
poszczególnych agentów, poprzez częstsze wywoływania tych agentów, którzy w przeszłości
w większym stopniu poprawiali przesłane im rozwiązania, przy jednoczesnej eliminacji tych
agentów, którzy na pewnym etapie rozwiązywania problemu, nie przyczyniali się do uzyskania
poprawy dotychczas uzyskanego najlepszego rozwiązania. W tym trybie każdemu agentowi
przypisano odpowiednią wagę, początkowo taką samą dla wszystkich agentów, która w trakcie
działania systemu była odpowiednio modyfikowana: w przypadku poprawienia aktualnego
rozwiązania - zwiększana, w przeciwnym przypadku – zmniejszana. W proponowanym
podejściu zastosowano kilka reguł modyfikujących wagi, m. in. addytywną
(zwiększanie/zmniejszanie wagi poprzez dodanie/odjęcie określonej liczby do/od
dotychczasowej wagi), czy też multiplikatywną (zwiększanie/zmniejszanie wagi poprzez
pomnożenie/podzielenie jej przez określoną wartość). Wybór agentów w danej iteracji był
oparty o mechanizm selekcji proporcjonalnej: agenci, którym przypisano większą wagę w danej
iteracji mieli większe prawdopodobieństwo być wybranym do dalszego działania w kolejnej
iteracji.
Celem przeprowadzonego eksperymentu obliczeniowego na wybranych dwóch grupach
instancji VRP było określenie wpływu trybu komunikacji pomiędzy agentami w trakcie
rozwiązywania danego problemu na zachowanie całego zespołu, mierzone jako MRE
uzyskiwanych rozwiązań w stosunku do najlepszych znanych rozwiązań. Przeprowadzona
analiza uzyskanych rezultatów w zakresie porównania trybu asynchronicznego z
synchronicznym nie wskazała jednoznacznie wyższości któregoś z nich. Podczas gdy
w pierwszej grupie instancji, w niemalże połowie przypadków, uzyskane wyniki statystycznie
nie różniły się w obu trybach, w pozostałych przypadkach pierwszej grupy instancji, jak
również dla wszystkich instancji z drugiej grupy, zaobserwowano statystycznie różniące się
wyniki.
Jednocześnie wykazano, że wprowadzenie trybu synchronicznego z uczeniem, w którym udział
poszczególnych agentów optymalizacyjnych w procesie poszukiwania rozwiązania na danym
etapie był zależny od ich zachowania w przeszłości, skutkował często uzyskiwaniem rozwiązań
lepszej jakości, w porównaniu z pozostałymi trybami. Jak zaobserwowano, pozytywny wpływ
takiego uczenia na jakość rozwiązania, zależał od postaci zastosowanego wzmocnienia (zmiany
wagi przypisanej agentowi): pozytywnego – w stosunku do agentów, którzy poprawiali
otrzymywane rozwiązania, jak również negatywnego – w stosunku do agentów, którzy takich
rozwiązań nie poprawiali. Spośród rozpatrywanych reguł zmiany wag przypisanych
7
poszczególnym agentom, najkorzystniejsze rezultaty otrzymywano, gdy zarówno pozytywne,
jak również negatywne
wzmocnienia
miały charakter
łagodny
(nieznaczne
zwiększenie/zmniejszenie wagi agenta po każdej poprawie lub braku takiej poprawy,
odpowiednio). Uzyskiwane wyniki przewyższały wtedy te, które uzyskano w trybach
asynchronicznym oraz synchronicznym bez uczenia.
Nowym pomysłem w badaniach prowadzonych nad kooperacyjnym rozwiązywaniem zadań
było zaproponowanie architektury łączącej ideę zespołów agentów programowych z ideą wysp,
znaną z algorytmów ewolucyjnych. W odróżnieniu od architektury pojedynczego zespołu,
w nowej architekturze zakłada się istnienie wielu zespołów agentów programowych,
komunikujących się między sobą, wymieniając najlepszymi rozwiązaniami. Nadzór nad
procesem komunikacji między zespołami agentów, jest sprawowany przez dedykowanego
agenta (migration manager). Sam proces wymiany informacji pomiędzy zespołami może
odbywać się zgodnie z różnymi topologiami sieci wymiany informacji oraz przy założeniu
określonych wartości parametrów charakteryzujących taką komunikację, jak np. liczba
zespołów, liczba osobników przesyłanych pomiędzy zespołami oraz częstotliwość takiej
wymiany, czy też reguły określające, w jaki sposób przesyłane osobniki są włączane w obręb
populacji zespołu docelowego.
W pracy [10] zaproponowane podejście zastosowano do rozwiązania VRPTW i poddano
eksperymentom, które koncentrowały się na zbadaniu wpływu wybranych parametrów (liczba
zespołów agentów programowych oraz liczba agentów w każdym zespole) na jakość
rozwiązania (w sensie MRE). Eksperymenty przeprowadzone na benchmarkowych instancjach
VRPTW potwierdziły, w większości przypadków, iż wprowadzenie wielu zespołów
i komunikacji między nimi, prowadziło do otrzymania lepszych wyników niż w przypadku
pojedynczego zespołu agentów opartego tylko na komunikacji wewnętrznej. Analiza
uzyskanych wyników nie pozwoliła jednak na jednoznaczne stwierdzenie, ile zespołów należy
użyć aby uzyskać najlepsze rozwiązanie.
Zaproponowane w ramach badań środowisko programowe e-JABAT wspomagające budowę
oraz testowanie zespołów agentów programowych, w naturalny sposób pozwala na
decentralizację procesów obliczeniowych oraz ich zrównoleglenie. W pracy [8] zaproponowano
i porównano dwa modele obliczeń wykorzystywane podczas rozwiązywania instancji danego
problemu przez zespół agentów programowych. Pierwszy model zakłada wykorzystanie
zasobów jednej jednostki (węzła) środowiska obliczeniowego. Na niej zostają uruchomieni,
i tam rezydują przez cały czas obliczeń, wszyscy agenci wchodzący w skład zespołu, zarówno
ci bezpośrednio biorący udział w poszukiwaniu najlepszego rozwiązania, jak również agent
koordynator. Drugi model zakłada wykorzystanie zasobów rozproszonego systemu obliczeń
i wykorzystano w nim zdolność agentów do migracji na dostępne zasoby środowiska
obliczeniowego. W tym modelu, po rozpoczęciu procesu rozwiązywania instancji określonego
problemu, na jednej dedykowanej jednostce środowiska obliczeniowego zostaje umieszczony
agent koordynator, natomiast agenci optymalizacyjni zostają przesunięci na inne, dostępne
jednostki, tak aby równomiernie zrównoważyć obciążenie zasobów całego środowiska.
Eksperyment obliczeniowy, który przeprowadzono dla wybranych instancji CVRP, miał na celu
porównanie obu, wyżej wskazanych modeli, i tym samym zbadanie wpływu decentralizacji
procesu obliczeń na jakość wyników (w sensie MRE) i czas obliczeń. Badaniu poddano różne
konfiguracje, obejmujące różną liczbę węzłów (o takiej samej mocy i liczbie rdzeni) użytych
w eksperymencie oraz różną liczbę kopii każdego agenta optymalizacyjnego, wchodzącego
w skład zespołu.
W wyniku analizy uzyskanych wyników, nie stwierdzono statystycznie różnic między
wynikami (w sensie MRE) uzyskiwanymi przez zespoły agentów działające w ramach obu
rozważanych modeli, przy założeniu takiej samej liczby uruchamianych kopii każdego agenta.
Co więcej, uzyskane wyniki były podobne, niezależnie od liczby użytych węzłów, na których
uruchamiani byli agenci optymalizacyjni. Z kolei, porównując wyniki uzyskane przez zespoły
8
agentów uruchamianych w różnych liczbach kopii, stwierdzono, że większa liczba użytych
kopii agentów w ramach zespołów skutkuje zmniejszaniem MRE.
Biorąc pod uwagę czas obliczeń, w którym zespoły agentów uzyskiwały rozwiązanie,
w przeciwieństwie do MRE, uzyskiwane wyniki różniły się. Zakładając taką samą liczbę
uruchamianych kopii każdego agenta, stwierdzono, iż wraz ze wzrostem liczby węzłów użytych
w eksperymencie, następowało skracanie czasu obliczeń. Przy takiej samej liczbie węzłów
użytych w eksperymencie, uruchamianie agentów optymalizacyjnych w mniejszej liczbie kopii
również prowadziło do skrócenia czasu obliczeń. Przeprowadzona dodatkowo analiza wartości
parametrów przyśpieszenia (speedup) oraz wydajności (efficiency) zespołów agentów,
potwierdziła wzrastanie wartości obu parametrów wraz ze wzrostem liczby węzłów używanych
w eksperymencie. Tempo zmian jednak zależało od liczby kopii agentów w zespole.
Generalnie, większe przyśpieszenie oraz większa wydajność były obserwowane, gdy liczba
użytych kopii każdego agenta była zwiększana.
W ramach badań nad opracowaniem efektywnych algorytmów kooperacyjnych do
rozwiązywania obliczeniowo trudnych problemów wyznaczania tras pojazdów, w pracy [11]
zaproponowano również algorytm hybrydowy dla VRPTW, który jest kombinacją podejść
kooperacyjnego z reaktywnym (reactive search). Celem połączenia obu podejść było
wprowadzenie mechanizmu dynamicznego zarządzania zbiorem agentów optymalizacyjnych
podczas procesu poszukiwania najlepszego rozwiązania, pozwalającego na bardziej wydajne
wykorzystanie poszczególnych agentów. Mając zbiór agentów reprezentujących różne metody
rozwiązywania danego problemu, istotą zaproponowanego rozwiązania było określenie zbioru
miar i reguł, na podstawie których można zadecydować, którzy agenci powinni być użyci (a
którzy czasowo wyeliminowani) w każdej iteracji, aby zintensyfikować lub zdywersyfikować
proces poszukiwania najlepszego rozwiązania. W tym celu zaproponowano listę tabu agentów,
która w kolejnych iteracjach zawierała agentów wyłączonych z obliczeń na pewien okres czasu.
Zaproponowane reguły umieszczania agentów na liście tabu, czy też usuwania ich z listy tabu,
bazowały na dotychczasowym zachowaniu każdego agenta oraz jego wkładzie w poprawianie
najlepszego rozwiązania. Badano m. in.: ile razy dany agent poprawiał jakieś rozwiązanie, ile
razy (i o ile) zostało ono rzeczywiście poprawione, ile razy (i o ile) poprawiono najlepsze na
danym etapie rozwiązanie, i w jakim czasie.
Integralną częścią badań zaprezentowanych w pracy [11] było również zaprojektowanie
i przeprowadzenie eksperymentów obliczeniowych. Ich celem było wykazanie, w jakim
stopniu, zaproponowana strategia dynamicznego zarządzania zbiorem agentów ma wpływ na
jakość rozwiązań uzyskiwanych przez zespoły agentów (w sensie MRE). Analiza wyników
eksperymentu, w którym porównano dwie wersje algorytmu kooperacyjnego: z
zaimplementowaną strategią dynamicznego zarządzania zbiorem agentów, i bez, wykazała,
w ponad połowie przypadków, przewagę pierwszego rozwiązania nad drugim. Wykazano
również, że wstrzymanie na określony czas udziału niektórych agentów optymalizacyjnych
w poszukiwaniu najlepszego rozwiązania, pozwoliło na bardziej wydajne wykorzystanie
agentów. Liczba prób, w których agenci poprawiali otrzymane rozwiązania, w ogólnym
przypadku zmniejszyła się, nie powodując jednocześnie utraty jakości uzyskiwanych rozwiązań.
Wreszcie, w ramach prowadzonych badań, których wyniki zaprezentowano w przedstawionym
jednotematycznym cyklu publikacji, w pracach [4, 9, 12] zaproponowano efektywne połączenia
wybranych metaheurystyk z koncepcją opartą na kooperacyjnym rozwiązywaniu problemów.
Pierwszy z badanych wariantów w tym zakresie obejmował implementację homogenicznych
zespołów agentów programowych, w ramach których agenci reprezentowali metaheurystyki
guided local search (GLS) oraz variable neighborhood search (VNS). Zaproponowane
podejścia, nazwane agent-based guided local search [4] oraz cooperative multiple
neighborhood search [9], odpowiednio, wykorzystano do rozwiązania VRP.
Inny badany wariant obejmował hybrydyzację poszukiwania kooperacyjnego w ramach
schematu konkretnej metaheurystyki. W pracy [12] zaproponowano wieloetapowy
kooperacyjny algorytm uczenia populacji (cooperative population learning algorithm – CPLA),
9
w którym rozszerzono schemat proponowany w klasycznym algorytmie uczenia populacji
(PLA) o możliwość rozwiązywania instancji określonego problemu na każdym etapie za
pomocą zespołu agentów (zamiast jednego, jak zaproponowano oryginalnie w PLA), co więcej,
pracujących w ramach określonego schematu kooperacji. W przedstawionej w pracy [12]
implementacji CPLA dla VRPTW zdefiniowano zespoły składające się zarówno z procedur
lokalnego przeszukiwania, jak również z metaheurystyk. Wykorzystano też różne schematy
kooperacji, począwszy od pojedynczego zespołu na początkowym etapie, po grupę kilku
zespołów na kolejnych etapach.
Eksperymenty, które przeprowadzono dla proponowanych algorytmów na dostępnych danych
benchmarkowych, potwierdziły konkurencyjność zaproponowanych rozwiązań w stosunku do
innych znanych metod dla VRP i VRPTW. Zaproponowana hybrydyzacja podejścia
kooperacyjnego z metaheurystykami GLS i VNS tworzącymi zespoły agentów, w większości
przypadków zaowocowała uzyskiwaniem rezultatów zbliżonych (w sensie MRE) do tych
uzyskiwanych za pomocą istniejących znanych metod dla badanych problemów. Jednocześnie,
z punktu widzenia istoty podejścia kooperacyjnego, wykazano również fakt istnienia efektu
synergii w rozważanych zespołach agentów programowych. Eksperymenty potwierdziły
również efektywność zaproponowanego CPLA, jednocześnie wykazując, że spośród
zaproponowanych i testowanych różnych wersji CPLA, najlepsze wyniki uzyskano, gdy różne
metody oraz różne schematy kooperacji były używane na każdym etapie algorytmu. Porównanie
rezultatów uzyskanych przez CPLA z rezultatami uzyskanymi przez inne znane metody dla
VRPTW, potwierdziło, iż może być on skuteczną alternatywą dla tych metod, produkując
wyniki statystycznie nie gorsze niż te, uzyskane przez najlepsze znane metody dla VRPTW.
Zakończenie
Do najważniejszych osiągnięć naukowych uzyskanych w ramach prowadzonych badań
i przedstawionych w jednotematycznym cyklu publikacji należą:
• Opracowanie i zaimplementowanie środowiska programowego e-JABAT
wspomagającego budowę oraz testowanie zespołów agentów programowych.
• Opracowanie algorytmów opartych na metodach kooperacyjnych działających
w środowisku wieloagentowym służących do rozwiązywania problemów VRP, CVRP,
VRPTW.
• Potwierdzenie eksperymentalnie skuteczności i efektywności tych algorytmów.
• Zaproponowanie nowych efektywnych strategii współpracy między agentami
programowymi opartych na analizie wybranych cech populacji oraz charakterystyce
agentów programowych wchodzących w skład zespołów.
• Zaproponowanie efektywnych strategii współpracy między agentami programowymi
opartych na różnych formach komunikacji wewnątrz zespołu wykorzystujących metody
uczenia bez nadzoru.
• Zaproponowanie efektywnych strategii współpracy między zespołami agentów
programowych opartych na wybranych topologiach wymiany informacji między nimi.
• Zidentyfikowanie szeregu związków i zależności charakteryzujących metody
kooperacyjne, które mogą być wykorzystane do budowy efektywnych algorytmów
działających w środowisku wieloagentowym. W szczególności potwierdzono wpływ
następujących parametrów charakteryzujących zespoły agentów programowych na
efektywność zaproponowanych algorytmów:
o liczba i rodzaj agentów programowych pracujących w ramach jednego zespołu,
o architektura zespołów agentów programowych,
o tryb komunikacji między agentami,
o wielkość populacji rozwiązań i metoda jej tworzenia,
o strategia zarządzania populacją rozwiązań,
o zastosowany mechanizm dynamicznego zarządzania zbiorem agentów,
o wykorzystany model obliczeń.
10
5. Omówienie pozostałych osiągnięć naukowo - badawczych (artystycznych)
Przed uzyskaniem stopnia doktora moje badania koncentrowały się wokół wykorzystania
metod i narzędzi sztucznej inteligencji w transporcie morskim. W ramach badań zdefiniowano
problemy załadunku z uwzględnieniem segregacji, dla których zaproponowano efektywne
algorytmy przybliżone ich rozwiązania. Istotą tych problemów, na tle innych problemów
załadunku, jest występowanie specyficznych ograniczeń związanych z koniecznością
fizycznego oddzielenia od siebie pewnych grup ładunków. Mogą one wynikać, np. z natury
transportowanych ładunków (np. ciecze), ale również z konieczności zachowania
odpowiedniego poziomu bezpieczeństwa całego transportu. To ostatnie ma miejsce m. in.
w przypadku transportu ładunków niebezpiecznych, gdzie niektóre substancje muszą być
odpowiednio oddzielone od siebie, czy też ich transport może być niedopuszczalny w ramach
jednego środka transportu. Chociaż zaproponowane problemy w ogólności mogą odnosić się do
różnych form transportu różnych grup ładunków, w badaniach, ich wykorzystanie osadzono
w transporcie morskim ładunków niebezpiecznych, gdzie wymagania związane z transportem
takich materiałów są ściśle określone przez Międzynarodową Organizację Morską (IMO). Do
rozwiązania przedstawionych problemów, w badaniach zaproponowano efektywne algorytmy
konstrukcyjne, jak również metaheurystyki oparte na ewolucji populacji. Efekty powyższych
badań zostały opublikowane w pracach zestawionych w „Wykazie opublikowanych prac
naukowych lub twórczych prac zawodowych oraz informacja o osiągnięciach dydaktycznych,
współpracy naukowej i popularyzacji nauki” (Załącznik 3), pkt. II A: [1], pkt. II E: [3, 4, 10, 12,
13, 14].
W ramach badań w powyższym obszarze, opracowano również, wraz z zespołem, koncepcję
systemu wspomagania decyzji w transporcie morskim ładunków niebezpiecznych oraz
dokonano jego implementacji. Obszarem mojej szczególnej aktywności w tym projekcie była
konstrukcja bazy wiedzy o substancjach chemicznych występujących w transporcie morskim,
jak również zaprojektowanie i implementacja mechanizmu wnioskowania, będącego częścią
tego systemu. Efekty powyższych badań zostały opublikowane w pracach zestawionych
w wyżej wymienionym Wykazie (Załącznik 3), pkt. II E: [1, 2].
W badaniach przed doktoratem, uczestniczyłem również w pracach zespołu, którego celem było
zaprojektowanie oraz implementacja systemu wspomagającego definiowanie, modelowanie
oraz rozgrywanie gier decyzyjnych. Wśród moich osiągnięć w ramach tego projektu, oprócz
prac nad koncepcją środowiska, należy wymienić m. in. zaprojektowanie oraz implementację
modułu analizy oraz przetwarzania formuł obliczeniowych wykorzystywanych
w definiowanych grach. Ponadto, aktywnie uczestniczyłem w projektowaniu wybranych gier
decyzyjnych, m.in. z obszaru logistyki. Efekty powyższych badań zostały opublikowane
w pracach zestawionych w wyżej wymienionym Wykazie (Załącznik 3), pkt. II E: [5, 6, 7, 8, 9,
11].
Po uzyskaniu stopnia doktora, oprócz głównego nurtu badań przedstawionych w ramach
jednotematycznego cyklu publikacji, jeden z obszarów badań prowadzonych przeze mnie
dotyczył zagadnień związanych z wielokryterialnym podejmowaniem decyzji w transporcie
ładunków niebezpiecznych. W ramach badań sformułowano problem wielokryterialny,
uwzględniając, oprócz kryterium minimalizacji kosztów transportu, również kryterium
minimalizacji ryzyka związanego z takim transportem, jak również zaproponowano metodę
jego rozwiązania. Efekty powyższych badań zostały opublikowane w pracach zestawionych
w wyżej wymienionym Wykazie (Załącznik 3), pkt. II E: [15, 16].
Innym ważnym obszarem mojej aktywności po uzyskaniu stopnia doktora było zaprojektowanie
oraz implementacja środowiska wieloagentowego umożliwiającego symulację i rozwiązywanie
dynamicznych problemów wyznaczania tras pojazdów (DVRP). W stosunku do klasycznego
VRP, przyjęto, że lista wszystkich zleceń transportowych obejmuje część statyczną, znaną przed
11

Podobne dokumenty