Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

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

Algorytmy mrówkowe w dynamicznych problemach transportowych

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Strategie Zespołowe (SZ) dr inż. Tomasz Białaszewski

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

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

Obliczenia Naturalne - Algorytmy Mrówkowe

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Obliczenia inspirowane Naturą

Metoda UCT w stochastycznych problemach transportowych

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Techniki optymalizacji

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Wykład 4. Droga i cykl Eulera i Hamiltona

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Problem Komiwojażera - algorytmy metaheurystyczne

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytmy mrówkowe wprowadzenie.

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Zastosowanie UCT w problemach transportowych ze zmiennym zakorkowaniem ulic

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytmy Mrówkowe. Daniel Błaszkiewicz 11 maja 2011

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

XII International PhD Workshop OWD 2010, October 2010 MODEL TEORETYCZNY ALGORYTMU MRÓWKOWEGO SAS

Analiza stanów gry na potrzeby UCT w DVRP

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Zadania laboratoryjne i projektowe - wersja β

Metody przeszukiwania

PLANOWANIE TRASY PRZEJŚCIA STATKU Z ZASTOSOWANIEM ALGORYTMU MRÓWKOWEGO

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Optymalizacja ciągła

ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM

Wybrane podstawowe rodzaje algorytmów

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Heurystyczne metody przeszukiwania

Techniki optymalizacji

Programowanie Współbieżne. Algorytmy

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Metody Optymalizacji: Przeszukiwanie z listą tabu

Wstęp do programowania

Metody Programowania

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

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

Algorytmy heurystyczne w UCB dla DVRP

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

ALHE. prof. Jarosław Arabas semestr 15Z

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Optymalizacja. Wybrane algorytmy

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

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Sieci komputerowe. Wykład 8: Wyszukiwarki internetowe. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmika Problemów Trudnych

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Heurystyki i metaheurystyki

Grafy Alberta-Barabasiego

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Strategie ewolucyjne (ang. evolu4on strategies)

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

Digraf. 13 maja 2017

PRACA DYPLOMOWA MAGISTERSKA

Analiza składowych głównych. Wprowadzenie

Algorytm genetyczny (genetic algorithm)-

Programowanie sieciowe. Tadeusz Trzaskalik

Teoria i metody optymalizacji

Obliczenia Naturalne - Wstęp

Algorytmy genetyczne

Przykład planowania sieci publicznego transportu zbiorowego

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

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

TEORETYCZNE PODSTAWY INFORMATYKI

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

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przecięcia odcinków. Wykład /07

Algorytmiczna teoria grafów

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

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

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

Mrówka Pachycondyla apicalis

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Algorytmy stochastyczne laboratorium 03

Optymalizacja. Przeszukiwanie tabu

Matematyczne Podstawy Informatyki

Spacery losowe generowanie realizacji procesu losowego

Znajdowanie wyjścia z labiryntu

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}

Transkrypt:

Algorytmy mrówkowe w środowiskach dynamicznych Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 1/51 Plan» Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 2/51 1

Algorytm mrówkowy Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 3/51 Algorytmy rojowe» Zbiorowe zachowanie grupy osobników» Pojedynczy osobnik: Bezbronny Bezmyślny» Grupa osobników: Zdecentralizowana Samoorganizująca się Inteligentna Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 4/51 2

Algorytmy rojowe» Algorytm mrówkowy» Inne: Particle Swarm Optimization Stochastic Diffusion Search Gravitational Search Algorithm Intelligent Water Drops Charged System Search Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 5/51 Algorytm mrówkowy» Ant System (AS) Marco Dorigo, 1991 1992 praca doktorska» Inspirowany naturą Mrówki szukają pożywienia» Feromony ślad zapachowy Wyparowywanie feromonów Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 6/51 3

Algorytm mrówkowy - badania» 1989 Goss, Aron, Deneubourg, Pasteels» Pojedyncza mrówka: Głucha Prawie ślepa Bardzo niska inteligencja» Klucz do sukcesu komunikacja Feromony Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 7/51 Algorytm mrówkowy badania Mrowisko Pożywienie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 8/51 4

Algorytm mrówkowy - badania Mrowisko Pożywienie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 9/51 Algorytm mrówkowy - badania Mrowisko Pożywienie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 10/51 5

Mrówki żywe vs. wirtualne» Podobieństwa: Grupa współpracujących osobników (agentów) Cel: znalezienie najkrótszej drogi Budowanie rozwiązania krok po kroku Losowość i prawdopodobieństwo Rozkładanie i wyparowywanie feromonów Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 11/51 Mrówki żywe vs. wirtualne» Różnice (w świecie wirtualnym): Czas jest dyskretny Mrówki posiadają pamięć Mrówki posiadają wzrok widzą sąsiednie wierzchołki Sposób rozkładania feromonów globalny, lokalny Ilość rozkładanych feromonów zależy od jakości rozwiązania Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 12/51 6

Warianty Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 13/51 Oryginalny AS Resetuj feromony For i=0 to IlośćIteracji { Stwórz/resetuj mrówki Dla każdej mrówki: { Znajdź rozwiązanie Jeśli jest lepsze od najlepszego, to zapamiętaj } } Wyparuj część feromonów Dla każdej mrówki: Rozłóż feromony proporcjonalnie do znalezionego rozwiązania Zwróć najlepsze rozwiązanie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 14/51 7

Oryginalny AS Znajdź rozwiązanie { Dopóki nie znaleziono rozwiązania { Wyznacz listę kandydatów Wybierz kandydata metodą ruletki, na podstawie wzorku: } } p ij ( f ) ( h ) ij ij k ( f N ik ) ( hik ) i Przejdź do wybranego kandydata Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 15/51 Oryginalny AS» Parametry algorytmu: Ilość iteracji Ilość mrówek w iteracji Początkowa wartość feromonu na krawędziach Współczynnik wyparowywania Priorytet feromonów Priorytet heurystyki Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 16/51 8

Co podlega modyfikacji» Mrówki rozkładające feromony: Wszystkie X najlepszych Najlepsza» Moment rozkładania feromonów: Lokalnie (po każdym przejściu na nowy wierzchołek) Pseudo-lokalnie (zaraz po znalezieniu rozwiązania) Globalnie (jak wszystkie mrówki znajdą rozwiązanie) Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 17/51 Co podlega modyfikacji» Ilość rozkładanego feromonu: Stała Proporcjonalna do jakości rozwiązania» Sposób wyboru następnego wierzchołka: Ruletka Pseudo-ruletka: Losujemy q Jeśli q q 0, to wybieramy najlepszego startującego w ruletce Jeśli q q 0, to przeprowadzamy ruletkę po staremu Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 18/51 9

Elitist AS» Dorigo, 1992» Mocne wzmacnianie najlepszego rozwiązania» Po położeniu feromonów przez wszystkie mrówki» Zwiększenie feromonów na krawędziach należących do najlepszego rozwiązania: e Q best e ilość elitarnych mrówek Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 19/51 Rank AS» Bullnheimer, Hartl and Strauss, 1997» σ mrówek zostawia feromony proporcjonalnie do swojej rangi μ : ( ) Q» Najlepsze rozwiązanie też jest wzmacniane: Q best Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 20/51 10

Min-Max AS» Stützle & Hoos, 1997» Ograniczony zakres feromonów f f min, f ] [ max» Tylko najlepsza mrówka w danej iteracji zostawia feromony» Początkowa wartość feromonów = f max Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 21/51 Inne warianty» Ant-Density AS» Ant-Quantity AS» Ant Colony System (ACS) Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 22/51 11

CVRP Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 23/51 CVRP» Capacitated Vehicle Routing Problem» Rozwinięcie TSP http://pl.wikipedia.org/wiki/problem_marszrutyzacji Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 24/51 12

CVRP» Klienci z zapotrzebowaniem» 1 magazyn» Ciężarówki z o graniczoną pojemnością» Dostarczyć towar wszystkim klientom» Zminimalizować koszt całej trasy» http://neo.lcc.uma.es/radi-aeb/webvrp/ Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 25/51 Demo Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 26/51 13

Środowisko dynamiczne Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 27/51 Środowisko dynamiczne» Może się zmieniać w czasie» Graf: Dodawanie/usuwanie wierzchołków Zmiana zapotrzebowań wierzchołków Dodawanie/usuwanie krawędzi Zmiana wag krawędzi» Zdarzenie zmiany w grafie Wywoływane zawsze gdy nastąpiła jakakolwiek zmiana Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 28/51 14

Algorytm dynamiczny» Dynamiczna zmiana parametrów, przykłady: Większa liczba mrówek Zwiększenie parowania feromonów Większy nacisk na feromony/heurystykę Etc» Dynamiczna równoległość Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 29/51 Dodawanie/usuwanie wierzchołków» Zmieniony sposób wyboru sąsiadów» Wyznaczanie aktualnej listy kandydatów za każdym przejściem Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 30/51 15

Zmiana zapotrzebowań» Nie można korzystać ze statycznej tablicy zapotrzebowań, inicjalizowanej na początku algorytmu» Trzeba odczytywać zawsze aktualną wartość Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 31/51 Dodawanie/usuwanie krawędzi» CVRP z definicji zakłada graf pełny Dodawanie/usuwanie krawędzi Graf nie jest pełny Konieczna modyfikacja algorytmu Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 32/51 16

Modyfikacja algorytmu» Pierwszeństwo wyboru: Najpierw jeszcze nieodwiedzeni Dopiero potem już odwiedzeni» System kar: Przeprowadzamy wybór po staremu Kara za wybranie już odwiedzonego» Połączenie obu?» Inne propozycje? Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 33/51 Zmiana wag krawędzi Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 34/51 17

Pomysł modyfikacji Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 35/51 Pomysł modyfikacji» Aktualnie najlepsza droga może nagle stać się bardzo nieatrakcyjna» A drogi złe mogą stać się bardzo atrakcyjne» Ilość feromonów uniemożliwia szukanie nowych dróg» Potrzebny jest mechanizm wyrównywania szans Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 36/51 18

Wygładzanie feromonów» Zmniejszenie różnic między krawędziami» Zachowanie porządku» Cienkie krawędzie - mała zmiana» Grube krawędzie - duża zmiana» Funkcja w miarę wolno rosnąca Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 37/51 Wygładzanie feromonów f ij f 0 (1 log p f f ij 0 )» f ij ilość feromonu na wygładzanej krawędzi» f 0 minimalna ilość feromonu» p - podstawa logarytmu Im większa, tym większy efekt wygładzenia Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 38/51 19

Wygładzanie feromonów Przed Po Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 39/51 Wygładzanie feromonów» Różnice między krawędziami są zmniejszone» Porządek jest zachowany W dalszym ciągu najgrubsza krawędź ma największe prawdopodobieństwo wyboru» Prawdopodobieństwa wyboru krawędzi są zbliżone Większa szansa wyboru objazdów Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 40/51 20

Wygładzanie globalne vs. lokalne» Wygładzanie globalne nie zawsze musi być dobre» Dla dużego grafu: Spora zdobyta wiedza Wszystkie krawędzie są wygładzane Tracimy bezpowrotnie dużo cennych informacji» Potrzebny mechanizm wygładzania tylko w tej okolicy, gdzie wystąpił korek Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 41/51 Wygładzanie globalne vs. lokalne» Dodatkowy parametr algorytmu: Zasięg wygładzania (SmoothRange)» Maksymalna odległość od korka» Wygładzane są tylko te krawędzie, których odległość od korka jest mniejsza od SmoothRange Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 42/51 21

Wygładzanie globalne vs. lokalne» SmoothRange = maksymalna odległość między parą wierzchołków» Nowy parametr: Współczynnik wygładzania s SmoothRange s=0 - brak wygładzania s=1 wygładzanie globalne s 0,1 Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 43/51 Inne pomysły» Różne funkcje wygładzające: fij fij f0 F( ) f0 Liniowa Pierwiastek Sigmoidalna Etc» Inne wykorzystanie wygładzania: Zapobieganie stagnacji Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 44/51 22

Inne pomysły» Lokalne poprawianie rozwiązań: 2-opt 3-opt Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 45/51 2-opt Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 46/51 23

3-opt Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 47/51 Testowanie Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 48/51 24

Testowanie» Jak testować dynamiczne problemy?» Jak mierzyć efektywność poszczególnych wariantów?» Ogólna szybkość zbiegania» Jak bardzo pogorszyło się najlepsze rozwiązanie po wystąpieniu zdarzenia zmiany w grafie» Inne metody? Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 49/51 Docelowo» Scenariusze występowania korków» Możliwość tworzenia własnych scenariuszy» Preprogramowane scenariusze Potrzebne do testów» Drugi problem optymalizacyjny: Pomysły? Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 50/51 25

Dziękuję. Będę wdzięczny za wszelkie uwagi! Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 51/51 26