• Nie Znaleziono Wyników

Algorytm hiperheurystyczny

W dokumencie POLITECHNIKA WARSZAWSKA (Stron 84-91)

W tym podrozdziale przedstawiony jest drugi sposób wykorzystania danych problemu, polegający na zastosowaniu podejścia hiperheurystycznego [19]. Motywacją dla omówio-nego w poprzednich podrozdziałach podejścia było bezpośrednie zaadresowanie charak-teru dynamizmu w DVRP. Główną motywacją dla podejścia hiperheurystycznego jest wykorzystanie różnorodności już istniejących algorytmów (typów kodowania problemu i przestrzeni przeszukiwań) dla DVRP. Proponowane podejście hiperheurystyczne wyko-rzystuje powiązanie skuteczności danego algorytmu z charakterystyką optymalizowanej instancji problemu. Należy też zauważyć, że proponowane podejście hiperheurystyczne może być stosowane równolegle z omawianą wcześniej metodą predykcyjną.

Podejście hiperheurystyczne było stosowane do rozwiązywania DVRP [41–43], ale sto-sowana w tych pracach hiperheurystyka należy do podgrupy generatorów heurystyk [20].

Podejście [41–43] jest zatem znacznie bliższe podejściu memetycznemu do optymalizacji DVRP [71], zaprezentowanemu wcześniej przez Onga i in. na przykładzie SVRP [21].

Podejście proponowane w tej rozprawie ma odmienny charakter, gdyż polega na wy-borze algorytmu optymalizacyjnego jeszcze przed rozpoczęciem obliczeń, na podstawie

64

MEMSO

1.05 1.20 1.35 1.02 1.08 1.14 1.02 1.06 1.10

1.051.201.35

1.051.201.35

GA

M-VRPDR

1.051.15

1.021.081.14

ContDVRP(PSO)

ContDVRP(DE)

1.021.081.14

1.05 1.20 1.35

1.021.08

1.05 1.15 1.02 1.06 1.10 1.14

ContDVRP(Ai)

Porównanie średnich względnych wyników

Rysunek 7.4: Porównanie względnych wyników uzyskiwanych na zbiorze problemów te-stowych za pomocą algorytmu MEMSO [58], GA [47], M-VRPDR [71], ContDVRP wyko-rzystującego PSO i kodowanie WCZ [84] (ozn. ContDVRP(PSO)), ContDVRP wykorzy-stującego DE i kodowanie WCZ (ozn. ContDVRP(DE)), ContDVRP wykorzywykorzy-stującego PSO i połączone kodowanie WRZ+WCZ [1] (ozn. ContDVRP(Ai)).

omówionych wcześniej charakterystyk rozkładu zamówień [87]. W związku z tym, idea proponowanego podejścia hiperheurystycznego opiera się na dwóch założeniach:

• charakterystyka problemu pozostaje niezmienna w ciągu dnia roboczego (zamówie-nia znane na początku pozwalają na dobrą estymację cech przyszłych zamówień),

• zidentyfikowana charakterystyka problemu ma związek z wynikami osiąganymi przez algorytm wykorzystujący dany sposób kodowania.

Niezmienność charakterystyki problemu została częściowo zweryfikowana poprzez skutecz-ność metody predykcyjnej. Ponadto obserwacja przykładowych przestrzennych rozkładów

zamówień z początku oraz z całości dnia roboczego, prezentowanych na Rysunku 7.2, po-twierdza założenie o niewiele zmieniającej się charakterystyce problemu w trakcie procesu optymalizacji. Przesłanki, potwierdzające założenie o związku charakterystyki problemu z wynikami osiąganymi danym algorytmem, są zaprezentowane na Rysunku 7.4. Prezento-wana na tym rysunku wzajemna zależność średnich względnych wyników uzyskanych dla poszczególnych instancji problemu sugeruje, że największe znaczenie dla wyniku na da-nej instancji testowej ma wybór przestrzeni przeszukiwań. Wyniki algorytmu ContDVRP, niezależnie od algorytmu optymalizacyjnego, są ze sobą silnie skorelowane. Podobną zależ-ność, chociaż w znacznie mniejszym stopniu, można zaobserwować w grupie algorytmów MEMSO, GA i M-VRPDR, wykorzystujących dyskretne kodowanie. Natomiast pomiędzy wynikami tych dwóch grup można zaobserwować brak korelacji.

Rysunek 7.5: Diagram aktywności podejścia hiperheurystycznego opartego na algoryt-mach MEMSO i 2MPSO.

66

Wydruk 7.1: Parametry modelu liniowego przewidującego względny wynik algorytmów MEMSO i 2MPSO w oparciu o cechy zadania testowego, zaprezentowane jako rezultat dopasowania modelu liniowego z pakietu statystycznego R [104].

C o e f f i c i e n t s :

Najistotniejszą częścią podejścia hiperheurystycznego jest model predykcyjny, decydu-jący o wyborze algorytmu optymalizacyjnego. Diagram aktywności procesu decyzyjnego w podejściu hiperheurystycznym, jest przedstawiony na Rysunku 7.5. Aby wybór algorytmu przy rozwiązywaniu kolejnych instancji problemu był właściwy należy nie tylko prowadzić obliczenia zarówno algorytmem, który został wybrany, ale również przeprowadzić symula-cję działania drugiego algorytmu na tych samych danych. W ten sposób względny wynik obu algorytmów wraz z wyliczonymi cechami problemu poszerza zbiór treningowy modelu predykcyjnego.

Wybór algorytmu optymalizacyjnego jest dokonywany w oparciu o predykcję względ-nego wyniku algorytmów dostępnych w hiperheurystyce, poprzez model liniowy dopaso-wany na danych zaprezentodopaso-wanych w Tabeli 7.1. W ogólnym przypadku, dla algorytmów A1 i A2 optymalizujących DVRP, jeżeli wartość zwróconej estymacji ich względnego wy-niku  Res(A\1)

Res(A2)



(Ctbegin) > 1 , to do optymalizacji instancji DVRP o początkowych

za-mówieniach Ctbegin wybierany jest algorytm A1 (natomiast A2 w przeciwnym przypadku).

Uzasadnieniem realizacji predykcji w oparciu o model regresyjny, jest większy nacisk na poprawne wskazywanie instancji testowych, dla których algorytmy te osiągają istotnie różne wyniki. Model klasyfikacyjny powodowałby spłaszczenie tej informacji, a w konse-kwencji potencjalnie gorsze wyniki.

Przykład współczynników modelu dopasowanego do stosunku średnich wyników uzy-skiwanych przez MEMSO względem 2MPSO, wraz z selekcją zmiennych tego modelu przy użyciu kryterium informacyjnego Akaike [3], jest zaprezentowany na Wydruku 7.1. Dla

al-gorytmów MEMSO i 2MPSO model decyzyjny, zwracający estymację Res(M EM SO)\ Res(2M P SO)

 względnego wyniku tych algorytmów, ma (zgodnie z Wydrukiem 7.1) następującą postać:

 Res(M EM SO)\ Res(2M P SO)



(Ctbegin) =1.2sdx− 1.1µy − 1.6sdy− 0.05skewy+

+ 2.7µs− 3.4sds+ 0.2skews+ 1.4

Warto podkreślić, że model wskazał jako istotne dla wyboru algorytmu zarówno zmienne związane z położeniem, jak i rozmiarem zamówień.

Przy prezentacji wyników w podrozdziale 8.4.5 metoda hiperheurystyczna jest wyko-rzystana również dla algorytmów M-VRPDR [71] i ContDVRP, ale dla uzyskania dobrych rezultatów wymagała ona uwzględnienia dodatkowo liczby zamówień w cechach opisują-cych zadanie, względem pierwotnego zbioru cech prezentowanego w Tabeli 7.1.

68

Rozdział 8

System optymalizacyjny

W tym rozdziale opisane wcześniej elementy: metoda kodowania, algorytmy heurystyczne i metaheurystyczne, sposób budowania harmonogramów na podstawie zaproponowanego rozwiązania R oraz proponowana hiperheurystyka, są zaprezentowane jako elementy skła-dowe systemu informatycznego rozwiązującego problem DVRP. Publicznie dostępna część źródeł oraz aplikacja wykonywalna jest dostępna pod adresem:

https://sourceforge.net/p/continuous-dvrp/.

Zagadnienie budowy takiego systemu informatycznego na potrzeby wspomagania de-cyzji w zakresie DVRP było rozważane w pracach [66, 95, 113, 122]. Przedmiotem zainte-resowania badaczy były również kwestie prawne, dotyczące ograniczeń czasu pracy kie-rowców, przekładające się na ograniczenia optymalizowanego problemu, które powinien uwzględniać tego rodzaju system przy stosowaniu do problemów rzeczywistych [61].

W rozprawie opisana jest wysokopoziomowa architektura takiego systemu symulacyj-nego oraz zaproponowana metoda optymalizacyjna. W tym rozdziale zawarte są również wskazówki dotyczące implementacji przetwarzania równoległego wykorzystywanego w za-implementowanych metodach.

8.1 Środowisko testowe i symulacyjne

W celu przetestowania proponowanych metod została stworzona aplikacja pełniąca rolę systemu symulacyjnego oraz serwisu optymalizacyjnego. Większa część systemu została stworzona w technologii .NET [80, 97, 101], z wyjątkiem części związanej z predykcją algo-rytmu w metodzie hiperheurystycznej zaimplementowanej jako skrypty w języku R [104].

Serwisy optymalizacyjne są wywoływane poprzez protokół TCP w oparciu o technolo-gię zdalnego wywoływania metod w ramach Windows Communication Foundation [68].

Zaletą tego rodzaju implementacji jest uruchamianie serwisów optymalizacyjnych jako niezależnych procesów oraz możliwość potencjalnego rozproszenia obliczeń na wielu ma-szynach, bez konieczności dokonywania większych zmian w kodzie aplikacji. Uruchamianie serwisów jako niezależnych procesów, w przeciwieństwie do wątków, chroni przed

zjawi-skiem false sharing [12,127], skutkującym niepełnym wykorzystaniem czasu procesora, ze względu na nietrafione odczyty z jego pamięci podręcznej (ang. cache).

Rysunek 8.1: Wysokopoziomowy diagram aktywności systemu przetwarzającego zadania DVRP w oparciu o równolegle działające serwisy optymalizacyjne. Działanie pojedyn-czego serwisu optymalizacyjnego realizującego metodę ContDVRP jest zaprezentowane na Rysunku 8.2.

Ponadto potraktowanie serwisu optymalizacyjnego jako rodzaju czarnej skrzynki po-zwala na hybrydyzację algorytmów, co zostało wykorzystane przy łączeniu podejścia opar-tego na generowaniu sztucznych zamówień i przypisywaniu ich przy użyciu zmodyfikowa-nego algorytmu Kruskala do czasu TCO, a w dalszej części dnia roboczego płynne przejście do optymalizacji algorytmem 2MPSO (ContDVRP) [85].

70

W dokumencie POLITECHNIKA WARSZAWSKA (Stron 84-91)

Powiązane dokumenty