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