WIELOKRYTERIALNE ALGORYTMY EWOLUCYJNE W PLANOWANIU DROGI MORSKIEJ

Podobne dokumenty
ZASTOSOWANIE METOD SZTUCZNEJ INTELIGENCJI W NAWIGACJI METEOROLOGICZNEJ STATKÓW Z NAPĘDEM HYBRYDOWYM

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

WYNIKI BADAŃ CHARAKTERYSTYKI PRĘDKOŚCIOWEJ MODELU STATKU Z NAPĘDEM HYBRYDOWYM

Problemy z ograniczeniami

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Optymalizacja wielokryterialna

Wielokryteriowa optymalizacja liniowa

Algorytmy ewolucyjne

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

Analiza stanów gry na potrzeby UCT w DVRP

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

ALGORYTMY GENETYCZNE ćwiczenia

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

Wielokryteriowa optymalizacja liniowa cz.2

Algorytmy ewolucyjne optymalizacji wielokryterialnej sterowane preferencjami decydenta

Metody Programowania

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

Algorytmy optymalizacji systemu ICT wspomagające zarządzanie siecią wodociągową

Aproksymacja funkcji a regresja symboliczna

Generowanie i optymalizacja harmonogramu za pomoca

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Dobór parametrów algorytmu ewolucyjnego

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

MODEL OPTYMALIZACJI TRAS PRZEJAZDOWYCH JAKO NARZĘDZIE ZMNIEJSZENIA KOSZTÓW LOGISTYCZNYCH

Algorytmy heurystyczne w UCB dla DVRP

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

WYBÓR PUNKTÓW POMIAROWYCH

Algorytm genetyczny (genetic algorithm)-

Ewolucyjna optymalizacja wielokryterialna

ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO

Algorytm grupowania danych typu kwantyzacji wektorów

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

SZTUCZNA INTELIGENCJA

UNIKANIE NIEBEZPIECZNYCH SYTUACJI W ZŁYCH WARUNKACH POGODOWYCH W RUCHU STATKU NA FALI NADĄŻAJĄCEJ

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

CHARAKTERYSTYKA I ZASTOSOWANIA ALGORYTMÓW OPTYMALIZACJI ROZMYTEJ. E. ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, ul. Reymonta 23, Kraków

Algorytmy wyznaczania centralności w sieci Szymon Szylko

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Algorytmy genetyczne w optymalizacji

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Strategie ewolucyjne (ang. evolu4on strategies)

Hierarchiczna analiza skupień

Zadania laboratoryjne i projektowe - wersja β

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Analiza wielokryterialna wstęp do zagadnienia

PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Uczenie sieci typu MLP

WYKORZYSTANIE METOD OPTYMALIZACJI DO ESTYMACJI ZASTĘPCZYCH WŁASNOŚCI MATERIAŁOWYCH UZWOJENIA MASZYNY ELEKTRYCZNEJ

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Sortowanie Shella Shell Sort

OPTYMALNA ALOKACJA OBIEKTÓW Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytmy ewolucyjne 1

Sortowanie przez wstawianie Insertion Sort

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

5. Algorytm genetyczny przykład zastosowania

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

AKADEMIA GÓRNICZO HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE WYDZIAŁ INFORMATYKI ELEKTRONIKI I TELEKOMUNIKACJI. Projekt inżynierski

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Obliczenia ewolucyjne - plan wykładu

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 72 Electrical Engineering 2012

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

WIELOKRYTERIALNA OPTYMALIZACJA Z OGRANICZENIAMI POZYCYJNEGO UKŁADU NAPĘDOWEGO

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Analiza wielokryterialna

Metody ilościowe w badaniach ekonomicznych

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Optymalizacja. Przeszukiwanie lokalne

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Metody Rozmyte i Algorytmy Ewolucyjne

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

5. Rozwiązywanie układów równań liniowych

1 Równania nieliniowe

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Maciej Piotr Jankowski

METODY INŻYNIERII WIEDZY

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Transkrypt:

JOANNA SZŁAPCZYŃSKA Akademia Morska w Gdyni Katedra Nawigacji WIELOKRYTERIALNE ALGORYTMY EWOLUCYJNE W PLANOWANIU DROGI MORSKIEJ Wielokryterialne algorytmy ewolucyjne rozszerzają klasyczny algorytm ewolucyjny na etapie oceny osobnika, umożliwiając zastąpienie typowej, jednokryterialnej funkcji celu przez wektor takich funkcji. Przedstawiając problem planowania trasy jako wielokryterialne zadanie optymalizacyjne, można wykorzystać algorytmy tej klasy do planowania drogi morskiej statku. Stąd też w artykule przedstawiono propozycję zastosowania algorytmu Strength Pareto Evolutionary Algorithm (SPEA) w wielokryterialnym planowaniu drogi morskiej statku. 1. WSTĘP Proces optymalizacyjny stanowi podstawę planowania trasy statku. W procesie tym brane są pod uwagę kryteria opisujące bezpieczeństwo statku oraz koszty transportu. Kryteria kosztowe reprezentowane są zazwyczaj przez czas przejścia statku na danej trasie oraz zużycie paliwa niezbędne do jej pokonania. Częstą sytuacją jest wzajemna rywalizacja kryteriów. Trasy o krótkim czasie przejścia wymagają większej średniej prędkości statku, której ceną jest zwiększone zużycie paliwa. Z drugiej strony, trasy o stosunkowo niskim zużyciu paliwa cechują się wydłużonym czasem podróży z uwagi na zmniejszoną średnią prędkość statku na trasie. Jedną z grup narzędzi optymalizacji wielokryterialnej stanowią algorytmy ewolucyjne. Stąd proponowane jest nowe rozwiązanie planowania drogi morskiej statku, wykorzystujące wielokryterialny algorytm ewolucyjny Strength Pareto Evolutionary Algorithm (SPEA). W dalszej części artykułu scharakteryzowano grupę wielokryterialnych algorytmów ewolucyjnych, następnie zdefiniowano problem optymalizacyjny planowania trasy przejścia statku oraz opisano rozwiązanie tego problemu za pomocą algorytmu SPEA.

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 103 2. WIELOKRYTERIALNE ALGORYTMY EWOLUCYJNE Wielokryterialne algorytmy ewolucyjne (MultiObjective Evolutionary Algorithms - MOEA) rozszerzają klasyczny algorytm ewolucyjny na etapie oceny osobnika (rys. 1), umożliwiając zastąpienie typowej, jednokryterialnej funkcji celu przez wektor takich funkcji. Rys. 1. Wielokryterialny algorytm ewolucyjny Wielokryterialne algorytmy ewolucyjne można podzielić na grupy odwzorowujące klasyfikację ogólną metod optymalizacji wielokryterialnej ze względu na dostępność informacji o preferencjach decydenta względem zadanego zbioru kryteriów optymalizacji [1], a mianowicie: algorytmy z informacją o preferencjach daną a priori, algorytmy z preferencją określaną w sposób ciągły, algorytmy z informacją o preferencjach daną a posteriori. Algorytmy należące do pierwszej grupy sprowadzają wielokryterialny zbiór funkcji celu do pojedynczego kryterium. Charakteryzują się stosunkowo niską złożonością obliczeniową oraz szybką zbieżnością do końcowego zbioru rozwiązań. Niestety, jeśli znajdowane rozwiązania okazują się być nieakceptowalne, najczęściej ze względu na niewłaściwie ustalone wartości współczynników wagowych, konieczna jest ponowna inicjalizacja algorytmu z nowymi ustawieniami wag. Dodatkowo, prosta kombinacja liniowa wyrażająca funkcję celu w większości algorytmów tej grupy powoduje częste pojawianie się tzw. efektu kompensacji. Polega on na tym, że pojedynczy element sumy o dużym

104 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 współczynniku wagowym może spowodować obiektywnie nieuzasadnione odrzucanie rozwiązania efektywnego z punktu widzenia pozostałych elementów sumy, z wyjątkiem tego o największym współczynniku wagowym. Rozwiązania z grupy algorytmów o preferencjach określanych w sposób ciągły są najczęściej algorytmami iteracyjnymi, dla których w każdej z iteracji występuje uaktualnienie preferencji decydenta oraz obliczenia optymalizacyjne. Algorytmy te wymagają współpracy z decydentem przez cały czas trwania obliczeń. Algorytmy z informacją o preferencjach określaną a posteriori bazują na pojęciach dominacji oraz zbiorów rozwiązań Pareto optymalnych. Dominacja w sensie Pareto oznacza osiąganie przez rozwiązanie wartości co najmniej nie gorszych (lepszych w ramach przynajmniej jednego kryterium oraz co najmniej równych w ramach pozostałych kryteriów) od pozostałych rozważanych rozwiązań. Natomiast zbiory Pareto-optymalne składają się z rozwiązań niezdominowanych w sensie Pareto. Algorytmy a posteriori znajdują zbiory rozwiązań Pareto-optymalnych, które przedstawiane są decydentowi w celu wyboru (na podstawie własnych preferencji) rozwiązania, jego zdaniem, najlepszego. To podejście okazuje się mieć liczne zastosowania [1], szczególnie w sytuacji silnie konkurujących kryteriów. Kluczowe, z punktu widzenia możliwych zastosowań, wielokryterialne algorytmy ewolucyjne (w tym pojęciu mieszczą się również wielokryterialne algorytmy genetyczne), bazujące na dominacji Pareto, to: MultiObjective Genetic Algorithm MOGA [3], Niched Pareto Genetic Algorithm NPGA [6], Strength Pareto Evolutionary Algorithm SPEA [11]. W kolejnym punkcie opisano algorytm SPEA jako przedstawiciela MOEA o największym zaawansowaniu technologicznym oraz licznych zastosowania praktycznych. 2.1. Algorytm SPEA (Strength Pareto Evolutionary Algorithm) Strength Pareto Evolutionary Algorithm [11] jest jednym z pierwszych algorytmów klasy MOEA, w którym tworzona jest populacja dodatkowa (secondary population), aktywnie wykorzystywana w selekcji osobników do nowej populacji. Podobnie jak w przypadku algorytmów MOGA [3] i NPGA [6], SPEA rozszerza klasyczne podejście ewolucyjne, modyfikując procesy wyznaczania wartości funkcji przystosowania osobników i selekcji oraz główny przepływ sterowania algorytmu. Na rysunku 2 przedstawiono kolejne kroki algorytmu SPEA.

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 105 Rys. 2. Algorytm SPEA Podczas całego procesu ewolucji w algorytmie SPEA współistnieją dwie populacje: podstawowa (P), zawierająca podstawowy zbiór osobników dla danego pokolenia, dodatkowa (N), w której przechowywane są wszystkie osobniki, które w chwili dodania do tej populacji nie były zdominowane. Populacja dodatkowa N inicjalizowana jest jako zbiór pusty. Sukcesywnie dołączane są do niej osobniki niezdominowane z populacji podstawowej P. Jednakże, dodanie nowego osobnika do populacji N może spowodować, że część jej dotychczasowych osobników zostanie zdominowana przez nowo dodany element. Dlatego też konieczna jest aktualizacja populacji N i usunięcie z niej osobników zdominowanych. Ze względu na możliwość niekontrolowanego zwiększania się rozmiaru populacji N wraz z liczbą pokoleń, narzucony jest jej maksy-

106 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 malny dopuszczalny rozmiar. Po jego przekroczeniu populacja N podlega zmniejszeniu za pomocą klasteryzacji, zgodnie z następującym algorytmem: Krok 1. Inicjalizacja zbioru klastrów C. Każdemu osobnikowi i z populacji N przypisywany jest osobny klaster c i. Krok 2. Jeśli łączna liczba klastrów jest mniejsza od zadanego, maksymalnego dopuszczalnego rozmiaru populacji N idź do kroku 5. Krok 3. Wyznaczenie odległości pomiędzy każdą możliwą parą klastrów c k oraz c l zgodnie z: d 1 c c k l i k ik c k ;il c l gdzie symbol metryki oznacza odległość pomiędzy osobnikami i k oraz i l, mierzoną zgodnie z metryką euklidesową. Krok 4. Znalezienie dwóch klastrów o najmniejszej odległości d. Połączenie tych klastrów w jeden. Do połączonego klastra trafiają wszystkie osobniki z obu łączonych klastrów. Następnie idź do kroku 2. Krok 5. Wyznaczenie zredukowanej populacji dodatkowej N przez wypełnienie jej osobnikami ze zbioru klastrów. Z każdego klastra do populacji N może trafić tylko jeden osobnik. Jeśli dany klaster zawiera więcej niż jednego osobnika, wybierany jest jeden zgodnie z metodą opisaną w [11]. Obliczenie wartości funkcji przystosowania w algorytmie SPEA przebiega dwuetapowo. W pierwszym kroku dla każdego i-tego osobnika z populacji dodatkowej N wyznaczana jest wartość tzw. siły (strength) s i, proporcjonalna do liczby pokrytych przez niego osobników z populacji P: - i l (1) p p si = (2) p + 1 gdzie: p p liczba osobników z populacji P pokrytych przez i-tego osobnika z N, p w łączna liczba osobników w populacji podstawowej P. Siła s i i-tego osobnika z populacji dodatkowej N stanowi równocześnie jego wartość funkcji przystosowania. Natomiast wartość funkcji przystosowania dla j- tego osobnika z populacji podstawowej P jest obliczana, jako suma sił pokrywających go elementów populacji dodatkowej N zwiększona o 1, zgodnie z zależnością: f w = 1 + j s i i, i j (3)

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 107 3. DEFINICJA PROBLEMU - WIELOKRYTERIALNY PROBLEM PLANOWANIA DROGI MORSKIEJ STATKU Wektor funkcji celów (4) w rozważanym problemie planowania drogi morskiej statku zawiera kryteria opisujące bezpieczeństwo statku (5) oraz ekonomiczne aspekty podróży (6), (7): F ( x ) f f ryzyko f paliwo ryzyko czas T paliwo f, f, f (4) ( iryzyko ) iryzyko min (5) czas ( t ) t min (6) r r ( q paliwo) q paliwo min (7) gdzie: i ryzyko współczynnik ryzyka (inaczej: współczynnik zagrożenia bezpieczeństwa) na trasie dla zadanego modelu statku [bezwymiarowe]. Podstawą wyznaczenia wartości współczynnika i ryzyko jest wartość cząstkowego współczynnika bezpieczeństwa i j bezp. Stanowi ona liczbę z zakresu [0; 1], opisującą stopień bezpieczeństwa na odcinku pomiędzy j-tym oraz (j+1)-szym punktem zwrotu na danej trasie. Wartość i ryzyko to średnia kwadratów dopełnień wartości cząstkowego współczynnika bezpieczeństwa i j bezp dla danej trasy. gdzie: i j bezp v 2 (1- i j bezp ) k-1 iryzyko (8) k -1 vw max ( ) - vw j i j bezp (9) v ( ) w max w max ( ) vmax def - ( ) vmax def (10) cząstkowy współczynnik bezpieczeństwa [%] (wartość i j bezp = 0% oznacza skrajnie niebezpieczny fragment trasy, natomiast i j bezp = 100% całkowicie bezpieczny fragment trasy), liczba punktów zwrotu trasy [bezwymiarowe], k kąt kursowy wiatru [stopnie], v w max ( ) maksymalna akceptowalna prędkość wiatru [w], uzależniona od wartości kąta kursowego wiatru,

108 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 v w j średnia prędkość wiatru na odcinku pomiędzy (j-1)-szym oraz j-tym punktem zwrotu [w], v max def progowa, maksymalna akceptowalna prędkość wiatru [w], przyjęto v max def = 35w, ( ) współczynnik kształtu [bezwymiarowy] charakterystyki maksymalnej akceptowalnej prędkości wiatru, uzależniony od wartości kąta kursowego wiatru [9], v max def rozpiętość zmian maksymalnej akceptowalnej prędkości wiatru [w], przyjęto v max def = 10w, t r łączny czas przejścia trasy dla zadanego modelu statku [h], q paliwo całkowite zużycie paliwa na danej trasie dla zadanego modelu statku [t]. W omawianym procesie optymalizacji zbiór ograniczeń G(x) zawiera następujące elementy: ograniczenia naturalne związane z izobatą bezpieczeństwa, minimalny akceptowalny poziom cząstkowej wartości współczynnika bezpieczeństwa i j bezp dla danej trasy, maksymalny akceptowalny poziom zwartości lodu dla danej trasy, ograniczenia związane z pływającymi górami lodowymi, napotykanymi na danej trasie (ograniczenie o charakterze dynamicznym z uwagi na ruch gór lodowych w czasie). 4. PROPONOWANE ROZWIĄZANIE PROBLEMU W celu rozwiązania zakładanego problemu optymalizacyjnego proponowany jest algorytm planowania drogi morskiej statku (rys.3). Na potrzeby badań tego algorytmu przyjęto model badawczy statku z napędem hybrydowym [5]. W algorytmie tym kluczową rolę w procesie optymalizacyjnym zajmuje przedstawiony wcześniej algorytm SPEA. W celu aplikacji algorytmu SPEA do optymalizacji tras statku konieczne było dostosowanie tego algorytmu do specyfiki problemu oraz wprowadzenie niezbędnych rozszerzeń. Elementy te opisano szczegółowo w kolejnych punktach.

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 109 Rys. 3. Proponowany algorytm planowania drogi morskiej statku 4.1. Struktura chromosomu W algorytmie planowania drogi morskiej statku osobnik reprezentuje pojedynczą trasę przejścia statku. Każdy z osobników zawiera więc uporządkowaną listę punktów zwrotu, należących do danej trasy. Pierwszy z tych punktów jest tożsamy z punktem wyjściowym A, a ostatni z punktem docelowym B. Dla każdego punktu zwrotu zdefiniowany jest następujący zbiór parametrów: współrzędne geograficzne (długość i szerokość geograficzna) punktu zwrotu, moc względna silnika * (oznaczana jako cms), należąca do zakresu liczb rzeczywistych [0;1], typ napędu * (dostępne wartości to: tylko silnik (napęd klasyczny) oraz silnik i żagle (napęd hybrydowy) ), data i godzina osiągnięcia punktu zwrotu, prędkość statku *, współczynnik niepewności danych, określany na podstawie siatki danych pogodowych (prognoz), zdefiniowany jako: u d( i, i -1) (11) i t w

110 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 gdzie: u i współczynnik niepewności danych i tego punktu zwrotu na danej trasie, d(i, i-1) odległość geograficzna pomiędzy (i-1)-szym oraz i-tym punktem zwrotu na danej trasie, okres ważności prognozy pogody. t w Symbol * oznacza wartości aktualne na odcinku od poprzedniego do bieżącego punktu zwrotu. 4.2. Generacja populacji początkowej Populacja początkowa tras budowana jest na podstawie: trasy ortodromicznej, trasy loksodromicznej, trasy wyznaczonej przez metodę izochron [4, 7]. Zbiór tras populacji początkowej stanowią zarówno trasy powstałe w wyniku losowych modyfikacji tras ze zbioru tras podstawowych, jak również niezmienione trasy podstawowe. Podczas badań [9] przyjęto rozmiar populacji początkowej wynoszący 100 osobników. 4.3. Dodatkowe algorytmy pomocnicze W trakcie dostosowywania algorytmu SPEA do potrzeb specyfiki planowania trasy statku konieczne było stworzenie dodatkowych algorytmów pomocniczych [8], opisanych szczegółowo w kolejnych punktach. 4.3.1. Algorytm sprawdzający, czy dany odcinek trasy narusza kontur ograniczeń naturalnych Głównym zadaniem tego algorytmu jest sprawdzenie, czy odcinek łączący dwa zadane punkty przecina kontur ograniczeń naturalnych (np. ląd). Podstawą sprawdzenia przecinania konturu tych ograniczeń jest istnienie mapy bitowej ograniczeń naturalnych. Mapa ta jest przeszukiwana komórka po komórce wyłącznie na odcinku łączącym dane punkty. Dzięki zastosowaniu mapy bitowej (o dostępie do danych O(1)) złożoność obliczeniowa tego algorytmu wynosi O( k ), gdzie k oznacza łączną liczbę komórek mapy bitowej. Schemat algorytmu przedstawiono na rysunku 4.

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 111 Rys. 4. Algorytm sprawdzający, czy dany odcinek trasy narusza kontur ograniczeń naturalnych 4.3.2. Algorytm poszukujący nowego punktu izochrony, zapewniającego spełnienie ograniczeń naturalnych W sytuacji, gdy w trakcie działania metody izochron dla danych punktów C i D odcinek je łączący przecina kontur ograniczeń naturalnych (np. ląd), konieczne jest znalezienie nowego punktu izochrony E CD. Punkt E, poszukiwany za pomocą algorytmu przedstawionego na rysunku 5, musi spełniać poniższe warunki: odcinek CE nie przecina konturu ograniczeń naturalnych (np. lądu), prędkość statku na odcinku CE (wynikająca z ilorazu długości odcinka CE oraz kroku czasowego t pomiędzy kolejnymi izochronami) nie narusza charakterystyki prędkościowej statku; oznacza to, że prędkość ta nie jest większa niż prędkość osiągalna statku w bieżących warunkach pogodowych. W algorytmie poszukującym nowego punktu izochrony obliczane są współrzędne kolejnych punktów E i, równo oddalonych od siebie o odleglosc_krok, leżących na odcinku CD. Punkty E i przeglądane są w pętli, w kolejności od najbliższego punktowi C do najbliższego punktowi D. Dla każdego z tych punktów

112 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 sprawdzane jest, czy odcinek CE i przecina kontur ograniczeń naturalnych (za pomocą algorytmu z rysunku 4). Punkt E i, który powoduje naruszenie tego konturu, przerywa pętlę. Wynik działania stanowią współrzędne poprzedzającego go punktu E i-1. Złożoność obliczeniowa dla tego algorytmu wynosi O(k), gdzie k oznacza łączną liczbę komórek mapy bitowej. Rys. 5. Algorytm poszukujący nowego punktu izochrony, zapewniającego spełnienie ograniczeń naturalnych 4.3.3. Ogólny algorytm naprawy tras naruszających ograniczenia W sytuacji, gdy dana trasa narusza którekolwiek z przyjętych ograniczeń (np. niedopuszczalna zwartość lodu), uruchamiany jest ogólny algorytm naprawy (rys.6). W pierwszej kolejności algorytm ten identyfikuje oraz zapisuje grupy kolejnych punktów zwrotu, tzw. klastry, które powodują naruszenie dowolnego z ograniczeń. Następnie dla każdego klastra stara się zmodyfikować jego punkty

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 113 zwrotu tak, aby zlikwidować te naruszenia. Działanie algorytmu kończy się sukcesem, gdy uda się usunąć naruszenia ograniczeń dla wszystkich znalezionych klastrów. Modyfikacja trasy na poziomie klastra odbywa się etapowo. Jeśli dany etap nie zapewnia likwidacji naruszenia ograniczeń, następuje przejście do kolejnego etapu. W kolejnych etapach realizowane są następujące operacje: Etap 1. Współrzędne wszystkich punktów zwrotu, należących do danego klastra, są przesuwane o pewien wektor przesunięcia. Kierunek wektora stanowi prostopadła do odcinka loksodromicznego, łączącego skrajne punkty klastra. Po dokonaniu próby przesunięcia sprawdzane jest, czy badany fragment trasy nadal narusza ograniczenia, i, jeśli tak jest w pętli ponawiane są próby przesuwania punktów dla nowej wartości długości i zwrotu wektora przesunięcia. Długość tego wektora równa jest początkowo predefiniowanej minimalnej wartości i jest zwiększana stopniowo w kolejnych krokach pętli, a zwrot wektora zmienia się na przeciwny w co drugim obiegu pętli. Proces ten jest kontynuowany dopóty, dopóki trasa na badanym odcinku narusza ograniczenia oraz nie jest osiągnięta maksymalna liczba obiegów pętli. W przypadku, gdy trasa dalej narusza ograniczenia w ramach badanego klastra, następuje przejście do kolejnego etapu. Etap 2. Usuwane są wszystkie punkty zwrotu należące do klastra i sprawdzane jest, czy tak zmodyfikowana trasa narusza ograniczenia. Podobnie jak poprzednio, gdy trasa nadal narusza ograniczenia następuje przejście do kolejnego etapu. Etap 3. W miejsce usuniętych punktów zwrotu (etap 2) wstawiany jest nowy punkt zwrotu o współrzędnych (x n ;y n ) wybieranych losowo: x x y n x y n y min min min min ; x ; y max min( x min( y max n-1 n-1, x, y n 1 n 1 ), ), y x max max max( x max( y n-1 n-1, x, y n 1 ), n 1 ), (12) gdzie: (x n-1 ; y n-1 ) współrzędne punktu poprzedzającego wstawiany punkt, (x n+1 ; y n+1 ) współrzędne punktu następującego po wstawianym punkcie. Jeśli badany fragment trasy nadal narusza ograniczenia, wtedy proces wstawiania nowego punktu powtarzany jest w pętli aż do momentu osiągnięcia założonej, maksymalnej liczby powtórzeń.

114 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 Rys. 6. Ogólny algorytm naprawy tras naruszających ograniczenia 4.3.4. Algorytm usuwania pętli w trasach Algorytm naprawy tras zawierających pętle (rys. 7) uruchamiany jest dla trasy posiadającej pary krzyżujących się odcinków (mogące powstać w wyniku działania operatorów ewolucyjnych), wyznaczonych przez współrzędne kolejnych punktów zwrotu należących do tej trasy. W algorytmie tym wszystkie punkty zwrotu przeglądane są w podwójnej pętli (zmienne sterujące j oraz k), ustalającej indeksy punktów zwrotu będących punktami początkowymi sprawdzanych odcinków. Usuwanie pętli polega na odwróceniu kolejności części punktów zwrotu

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 115 w badanym zakresie indeksów. Ponieważ w procesie naprawy możliwe jest wygenerowanie nowych pętli, konieczne jest dodatkowe sprawdzenie tego faktu przed zakończeniem działania algorytmu. Złożoność obliczeniowa tego algorytmu wynosi O(n 3 ), gdzie n to liczba punktów zwrotu na trasie. Rys. 7. Algorytm usuwania pętli w trasach 4.4. Uwzględnianie ograniczeń w procesie optymalizacji Ze względu na fakt, że badany problem optymalizacyjny zawiera ograniczenia, konieczna była modyfikacja bazowego algorytmu SPEA. W tym celu dokonano następujących zmian: Zastąpiono klasyczną dominację Pareto przez dominację z ograniczeniami zaproponowaną w [2]. Zaimplementowano następujące algorytmy naprawy (przedstawione wcześniej):

116 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 23, 2009 algorytm naprawy tras zawierających pętle (rys. 6), ogólny algorytm naprawy tras naruszających ograniczenia (rys. 7). 5. PODSUMOWANIE Dzięki połączeniu dwóch metod optymalizacji wielokryterialnej, a mianowicie wielokryterialnego algorytmu ewolucyjnego SPEA oraz metody rankingowej Fuzzy TOPSIS, możliwe jest poszukiwanie tras, które pozwalają na osiągnięcie kompromisu pomiędzy elementami zakładanego wektora kryteriów optymalizacyjnych [9]. Dodatkowo, przy wykorzystaniu elastycznej metody konfiguracji preferencji decydenta za pośrednictwem wartości lingwistycznych, proponowany algorytm umożliwia poszukiwanie tras dla jednokryterialnych modeli optymalizacyjnych. Szczegóły opracowanego rozwiązania, zaimplementowanego również w postaci programu komputerowego, przedstawiono m.in. w [8], [9] oraz [10]. Wadą proponowanego rozwiązania jest stosunkowo długi czas potrzebny na uzyskanie wyników optymalizacji (około 1 h). Stąd dalsze prace będą ukierunkowane na wprowadzenie do algorytmu elementów przetwarzania równoległego. LITERATURA 1. Coello C. A., Lamont G. B., Van Veldhuizen D. A., Evolutionary Algorithms for Solving Multi- Objective Problems. Second edition, Springer Science+Business Media, LLC, New York 2007. 2. Deb K., An Efficient Constraint-handling Method for Genetic Algorithms, Computer Methods in Applied Mechanics and Engineering, Vol. 186(2 4), Elsevier, Oxford 2000, s.311 338. 3. Fonseca C.M., Fleming P.J., Genetic Algorithms for Multiobjective Optimization: Formulation, Discussion and Generalization, Proceedings of the Fifth International Conference, San Mateo 1993, s. 416 423. 4. Hagiwara H., Weather routing of (sail-assisted) motor vessels, PhD Thesis, Technical University of Delft 1989. 5. Oleksiewicz B., Motor-sailer A hybrid Propulsion for Commercial Vessels. The case study, Polish Maritime Research, Gdańsk 2009 (w druku). 6. Srinivas N., Deb K., Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms, Evolutionary Computation, Massachusets Institute of Technology, 1994, s. 221 248. 7. Szłapczyńska J., Śmierzchalski R., Adopted Isochrone Metod Improving Ship Safety In Weather Routing with Evolutionary Approach, International Journal of Reliability, Quality and Safety Engineering, vol. 14, No. 6, World Scientific, New Jersey 2007, s. 635 645. 8. Szłapczyńska J., Śmierzchalski R., Constrained Multiobjective Evolutionary Optimization in Weather Routing, Polish Journal of Environmental Studies, Olsztyn, Wydawnictwo HARD 2008, s. 144 147. 9. Szłapczyńska J., Śmierzchalski R., Multicriteria Optimisation in Weather Routing, Marine Navigation and Safety of Sea Transportation, Balkema 2009.

J. Szłapczyńska, Wielokryterialne algorytmy ewolucyjne w planowaniu drogi morskiej 117 10. Szłapczyńska J., Śmierzchalski R., Strength Pareto Evolutionary Approach to Weather Routing Preliminary Results, Evolutionary Computation and Global Optimization 2008, Prace Naukowe Politechniki Warszawskiej Elektronika, z. 165, Warszawa 2008, s. 221 228. 11. Zitzler E., Thiele L., Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach, IEEE Transactions on Evolutionary Computation No. 3 Vol. 4, New York 1999, s. 257 271. MULTICRITERIA EVOLUTIONARY ALGORITHMS IN SHIP ROUTE PLANNING Summary Muticriteria evolutionary algorithms extend the idea of a classic evolutionary algorithm during fitness evaluation of individuals. The algorithms replace a single-objected goal function by a vector of such functions. It is possible to utilize such an algorithm in ship route planning. The necessary condition is that the route planning must be defined as multicriteria optimization problem. Hence, the paper presents the proposal of application the Strength Pareto Evolutionary Algorithm (SPEA) to the route planning process.