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

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

Analiza stanów gry na potrzeby UCT w DVRP

Algorytmy heurystyczne w UCB dla DVRP

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

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

Algorytm grupowania danych typu kwantyzacji wektorów

Optymalizacja. Przeszukiwanie lokalne

ALGORYTM KLASTERYZACJI W ZASTOSOWANIU DO PROBLEMU TRASOWANIA POJAZDÓW

O dwóch modyfikacjach algorytmu PSO

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Optymalizacja ciągła

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

CLUSTERING. Metody grupowania danych

Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu. Ireneusz Szcześniak. Politechnika Śląska 20 czerwca 2002 r.

OPTYMALIZACJA W LOGISTYCE

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

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

SZTUCZNA INTELIGENCJA

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Bezpłatny Internet dla mieszkańców Radomia zagrożonych wykluczeniem cyfrowym

Zaświadczenie. Nr 41/CB/2012. Niniejszym zaświadczam, iŝ Pan/Pani

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Wstęp do programowania

Obliczenie pola wieloboku na podstawie współrzędnych wierzchołków

Strategie ewolucyjne (ang. evolu4on strategies)

Risk-Aware Project Scheduling. SimpleUCT

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI

Testowanie hipotez statystycznych.

Zadania laboratoryjne i projektowe - wersja β

Wstęp do programowania

LABORATORIUM 8 WERYFIKACJA HIPOTEZ STATYSTYCZNYCH PARAMETRYCZNE TESTY ISTOTNOŚCI

ASPEKT PRZYDZIAŁU ODBIORCÓW W PROBLEMIE INTEGRACJI HIERARCHICZNEGO SYSTEMU DYSTRYBUCJI

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Wyznaczanie optymalnej trasy problem komiwojażera

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

4. Średnia i autoregresja zmiennej prognozowanej

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Techniki optymalizacji

Algorytm świetlika charakterystyka, własności aplikacyjne i usprawnienia

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Modelowanie matematyczne a eksperyment

Sortowanie przez scalanie

Optymalizacja wież stalowych

Techniki optymalizacji

Algorytmy genetyczne

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Testowy dokument raz dwa trzy

mgr Anna Bernaciak Wyższa Szkoła Logistyki Badania operacyjne II Zagadnienie komiwojażera Zadanie 1 Rozwiązanie zadania 1. Krok i to minimalny

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Wstęp do programowania

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Próbkowanie. Wykład 4 Próbkowanie i rozkłady próbkowe. Populacja a próba. Błędy w póbkowaniu, cd, Przykład 1 (Ochotnicy)

UONET+ - moduł Zastępstwa

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

Co to jest grupowanie

Część 2. Teoretyczne i praktyczne aspekty wybranych metod analiz ilościowych w ekonomii i zarządzaniu

Zaprojektować i zaimplementować algorytm realizujący następujące zadanie.

SZYBKI ALGORYTM Z MACIERZĄ SHURA DLA MACIERZY TRÓJDIAGONALNYCH

7. Identyfikacja defektów badanego obiektu

Problemy z ograniczeniami

EKONOMETRIA STOSOWANA PRZYKŁADOWE ZADANIA EGZAMINACYJNE

Informatyka w logistyce przedsiębiorstw wykład 5

POLITECHNIKA WARSZAWSKA

Model przydziału zasobów do zadań w przedsiębiorstwie transportowym

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Serwis NaviExpert Biznes. Instrukcja obsługi

Przestrzeń algorytmów klastrowania

Ewolucja Różnicowa Differential Evolution

Algorytmy mrówkowe w dynamicznych problemach transportowych

Eksperymenty obliczeniowe z algorytmami ewolucyjnymi i porównania algorytmów.

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

UWAGI O TESTACH JARQUE A-BERA

if (wyrażenie ) instrukcja

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Algorytm FIREFLY. Michał Romanowicz Piotr Wasilewski

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Metoda UCT w stochastycznych problemach transportowych

Laboratorium technik optymalizacji

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Sterowanie wykonaniem produkcji

Dobór parametrów algorytmu ewolucyjnego

Algorytmy genetyczne w interpolacji wielomianowej

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

Tomasz Niedzielski a,b, Wiesław Kosek a

Optymalizacja wielokryterialna

Transkrypt:

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

Plan prezentacji Przypomnienie Problem DVRP Algorytm PSO Podejścia DAPSO, MAPSO 2PSO, 2MPSO Wyniki Dane testowe 2/26

DVRP Pojazd Ładowność Magazyn Położenie Godziny otwarcia Zamówienie Położenie Wielkość Godzina zamówienia Czas wyładunku 3/26

DVRP Znalezienie sumarycznie najkrótszej trasy dla pojazdów Zrealizowanie każdego zamówienia w ciągu dnia roboczego Powrót pojazdów do magazynu przed jego zamknięciem Znalezienie f n oraz i j f : POJAZDY 2 ZAMÓWIENIA POJAZDY 4/26

PSO 1.P 0 := n losowych punktów z dziedziny funkcji 2.Oceń każdy z punktów z P k 3.Dla i := 1 do n Pk+1 [i] += a*(najlepszysąsiad(p[i])-p k [i]) + b*(najlepszy(p[i])-p k [i]) + c*(p k [i]-p k-1 [i]) 4.Jeżeli nie KONIEC wróć do 2. 5/26

MAPSO + 2-Opt Optymalizacja wieloma rojami Wektory prędkości i położenia cząstek składają się z liczb całkowitych x t, v t [0 ;n] m t PSO odpowiada tylko za przynależności zamówienia do pojazdu Trasa dla każdego z pojazdów jest następnie optymalizowana przy użyciu algorytmu 2-opt 6/26

2-phase PSO - kodowanie Pojazdom przydzielamy centrum (x,y) obszaru operacyjnego Ocena rozwiązania przydziału to suma odległości centrum obszaru operacyjnego od zajezdni (koszt utworzenia trasy) oraz suma odległości centrum obszaru operacyjnego od przydzielonych zamówień (szacunkowy koszt trasy) Klientom przydzielamy rangę decydującą o kolejności ich obsługiwania 7/26

2-phase PSO - kodowanie c.d. Zamówienia przydzielamy do najbliższego dostępnego pojazdu Niedostępny pojazd to taki, który ma bliską zeru rezerwę czasową i aktualnym kroku czasowym miał przydzielone więcej zamówień niż mógł zrealizować w ciągu dnia roboczego Optymalizację przydziału zamówień do pojazdów (położenia obszarów operacyjnych) dokonujemy niezależnie od optymalizacji tras poszczególnych pojazdów (również dokonywanych niezależnie) 8/26

2-phase PSO - algorytm 1. Wykorzystaj wstępne (być może puste) rozwiązanie w inicjalizacji cząstek dla PSO (w wersji wielorojowej następuje wymiana wstępnego rozwiązania pomiędzy instancjami problemu) 2. Dla zamówień znanych w chwili czasu t i uruchom optymalizację centrum obszarów operacyjnych (analiza skupień) 3. Przypisz zamówienia do dostępnych pojazdów 4. Dla przypisanych zamówień optymalizuj trasy dostępnych pojazdów (komiwojażer) 5. Odrzuć zamówienia, których realizacja jest niemożliwa ze względu na ograniczenie czasowe i wróć do 3. (lub przejdź do 6. jeżeli nie ma takich zamówień) 6. Ustal trasę do czasu nie mniejszego niż t i+2 dla pojazdów o rezerwie czasowej do zamknięcia magazynu nie mniejszej niż t i+3 t i i wróć do 1. 9/26

Porównanie wyników Nazwa 2MPSO Śr. 2MPSO Min. 2PSO Śr. 2PSO Min. MAPSO Śr. MAPSO Min. c50d 633,44 597,18 668,41 588,08 610,67 571,34 c75d 984,77 929,35 1016,30 923,30 965,53 931,59 c100d 1056,45 976,73 1142,05 996,40 973,01 953,79 c100bd 860,93 828,94 848,82 828,94 882,39 866,42 c120d 1138,39 1084,92 1209,48 1104,29 1295,79 1223,49 c150d 1257,2 1164,83 1335,82 1242,41 1357,71 1300,43 c199d 1506,74 1444,01 1581,26 1451,47 1646,37 1595,97 f71d 341,97 305,54 356,77 315,79 296,76 287,51 f134d 13179,18 12813,53 13462,55 12972,08 16193,00 15150,50 tai75ad 1951,23 1791,95 2140,53 1871,06 1849,37 1794,38 tai75bd 1518,25 1442,22 1567,95 1460,95 1426,67 1396,42 tai75cd 1676,99 1567,33 1812,23 1500,23 1518,65 1483,10 tai75dd 1483,24 1436,99 1577,94 1462,82 1413,83 1391,99 tai100ad 2442,46 2297,99 2713,03 2320,95 2214,61 2178,86 tai100bd 2291,85 2166,98 2503,53 2212,90 2218,58 2140,57 tai100cd 1599,69 1504,08 1673,05 1577,72 1550,63 1490,40 tai100dd 1958,91 1820,39 2189,13 1859,70 1928,69 1838,75 tai150ad 3824,43 3614,99 4158,55 3652,98 3389,97 3273,24 tai150bd 3209,66 3043,12 3302,02 3146,61 2956,84 2861,91 tai150cd 2874,09 2758,66 2947,63 2781,02 2671,35 2512,01 tai150dd 3226,06 3064,58 3492,42 3126,92 2989,24 2861,46 10/26

Porównanie wyników Nazwa Historia Śr. Historia Min. Bez historii Śr. Bez historii Min. Historia / Bez Historia / Bez c50 675,14 582,88 740,84 664,81 0,91 0,88 c75 1015,16 912,23 1127,68 1048,4 0,9 0,87 c100 1149,48 996,4 1245,17 1073,32 0,92 0,93 c100b 850,68 828,94 843,66 830,42 1,01 1 c120 1212,38 1087,04 1225,5 1132,72 0,99 0,96 c150 1336,84 1173,94 1617,51 1440,77 0,83 0,81 c199 1578,99 1446,93 2264,11 2057,46 0,7 0,7 f71 356,75 315 430,82 361,89 0,83 0,87 f134 13491,6 12813,14 16014,09 14199,4 0,84 0,9 tai75a 2142,07 1871,06 2662,2 2293,31 0,8 0,82 tai75b 1568,21 1460,95 1853,05 1606,57 0,85 0,91 tai75c 1811,08 1500,23 2135,28 1759,97 0,85 0,85 tai75d 1586,28 1462,82 1801,09 1505,83 0,88 0,97 tai100a 2707,61 2317,76 3447,18 3034,34 0,79 0,76 tai100b 2510,6 2187,86 3136,52 2412,56 0,8 0,91 tai100c 1672,33 1564,25 2028,9 1680,62 0,82 0,93 tai100d 2220,01 1859,7 2382,48 2060,26 0,93 0,9 tai150a 4151,31 3638,75 5016,12 4456,29 0,83 0,82 tai150b 3302,94 3107,95 4966,28 3751,56 0,67 0,83 tai150c 2952,88 2781,02 3204,07 2985,95 0,92 0,93 tai150d 3478,49 3048,24 4554,7 3722,83 0,76 0,82 11/26

c100b 12/26

c100b 13/26

Analiza zależności efektów działania algorytmu od zadania Rozmiar zadania Liczba zamówień Ograniczenie dolne liczby tras (pojazdów) Rozkład zadań w przestrzeni Wyszukiwanie skupień za pomocą SOM Zróżnicowanie zadań Skośność rozkładu wielkości zamówień Odchylenie standardowe wielkości zamówień 14/26

Analiza efektów działania algorytmu - MAPSO 15/26

Analiza efektów działania algorytmu - 2MPSO 16/26

Analiza efektów działania algorytmu - 2PSO 17/26

c100b 2MPSO 1,01 1,05 MAPSO 1,06 1,08 18/26

c100b 2MPSO 1,04 1,09 MAPSO 1,17 1,24 19/26

c100b 2MPSO 1,11 1,18 MAPSO 1,12 1,16 20/26

c100b 2MPSO 1,26 1,41 MAPSO 1,19 1,23 21/26

c100b 2MPSO 1,05 1,09 MAPSO 1,02 1,04 22/26

c100b 2MPSO 1,17 1,22 MAPSO 1,06 1,13 23/26

Hipoteza zależności dla 2(M)PSO max clust.fact clust.fact S clust.fact, skewness skewness S skewness, need.vehicles need.vehicles S need.vehicles 24/26

Co dalej...? Wygenerowanie zbiorów testowych i dalsza analiza działania Modyfikacja algorytmu do pracy w sposób ciągły (możliwość dokładania nowych zamówień jak tylko się pojawią) Zaproponowanie kodowania przydziału zamówień do pojazdu, które będzie dopuszczało więcej przypadków przydziałów Zaimplementowanie obliczania funkcji kosztu w wydajny sposób 25/26

Literatura Multi-Swarm Optimization for Dynamic Combinatorial Problems: A Case Study on Dynamic Vehicle Routing Problem, Khouadjia et al., 2010, Lecture Notes in Computer Science vol. 6234, pp. 227-238 A comparative study between dynamic adapted PSO and VNS for the vehicle routing problem with dynamic requests, Khouadjia et al., Applied Soft Computing 12 (2012) 1426 1439 Benchmarki DVRP, http://www.fernuni-hagen.de/winf/inhalte/benchmark_data.htm PSO 2011, http://www.particleswarm.info/ 26/26