Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 14 czerwca 2013
Przedmiot i cele pracy dyplomowej Przedmiot i cele pracy dyplomowej Problem marszrutyzacji Przedmiotem pracy dyplomowej jest implementacja algorytmu mrówkowego dla wybranego problemu. Wybrano problem marszrutyzacji, który posiada wiele rozszerzeń. Dokładny opis problemu (wraz z rozszerzeniami) zostatnie wybrany po zrealizowaniu rozwiązania podstawowego problemu marszrutyzacji.
Przedmiot i cele pracy dyplomowej Problem marszrutyzacji Problem marszrutyzacji Rozszerzenie problemu komiwojażera. Definicja Problem polega na dostarczeniu dostaw do określonych wierzchołków. Ograniczenia uwzględniane przez problem: Ograniczona pojemność ciężarówki Niepodzielność dostawy Określony punkt początkowy i końcowy
Pliki*.osm jest darmową mapą dostępną dla każdego. Dzięki otwartości idealnie nadaje się do realizacji projektów takich jak praca magisterska dzięki braku ograniczeń licencyjnych.
Mapa Pliki*.osm
Mapa Pliki*.osm
Pliki*.osm <node> Opisuje punkty - używane do konstrukcji wszystkich odcinków, a także faktyczne obiekty takie jak sygnalizatory lub budki telefoniczne.
Pliki*.osm <way> Opisuje drogi, a także budynki oraz abstrakcyjne obszary. Powstaje z połączenia od 2 do 2000 punktów łącząc je w łamaną otwartą, łamaną zamkniętą lub obszar.
Pliki*.osm <tag> Znajduje się wewnątrz opisu punktu lub drogi. Zawiera informacje o typie obiektu, nazwie. W wypadku dróg może zawierać także informacje o jednokierunkowości oraz maksymalnej prędkości.
Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki Algorytm mrówkowy Podzielenie problemu na problemy najkrótszych ścieżek między każdą parą punktów oraz problem komiwojażera Algorytm składa się z pewnej ilości niezależnych agentów Agenci rozwiązują zadany problem sprowadzony do odnalezienia w grafie drogi o najmniejszym koszcie Agenci wybierają kolejne ścieżki probabilistycznie w oparciu o ich atrakcyjność(η ij ) oraz ilość feromonu(τ ij ).
Atrakcyjność Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki Atrakcyjność jest heurystyką opisującą prawdopodobieństwo, że ścieżka znajdzie się w rozwiązaniu Wartości są wyznaczane na początku i niezmienne w trakcie działania algorytmu Można zmodyfikować algorytm by rozwiązania dobre nigdy nie znikały w pełni z macierzy feromonów (ograniczenie przepustowości ścieżek).
Atrakcyjność Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki η ij = d i0 + d 0j α d ij + β d i0 d 0j Atrakcyjność reprezentuje zaoszczędzoną odległość w wypadku umieszczenia j jako następnika i Bardziej złożone modele mogą wymagać zupełnie innych heurystyk. W przypadku, gdy czas pokonania odległości jest zależny od pory dnia t oraz odbiór w punkcie j wymaga w j czasu: 1 η ij (t) = d ij (t) + w j
Feromony Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki Większa ilość feromonów zwiększa szansę na wybór określonej ścieżki Ilość feromonu na ścieżkach jest zmieniana po wybraniu przez wszystkich agentów własnego rozwiązania Feromony parują aby umożliwić opuszczanie minimów lokalnych τ ij = (1 p)τ ij + τ ij
Feromony Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki Ostateczna modyfikacja feromonu jest sumą zmian proponowanych przez każdego z agentów Agenci zwiększają ilość feromonu na ścieżkach należących do rozwiązania o ilość odwrotnie proporcjonalną do kosztu rozwiązania ACS proponuje by modyfikacja feromonu była wykonywana tylko dla najlepszego rozwiązania
Wybór ścieżki Algorytm mrówkowy Atrakcyjność Feromony Wybór ścieżki Prawdopodobieństwo wyboru ścieżki powinno być zależne zarówno od atrakcyjności jak i ilości feromonu Każdy wybór z prawdopodobieństwem q 0 (proponowana wartość 0.9) jest deterministyczny i wybiera ścieżkę o maksymalnym η ij τ ij Z prawdopodobieństwem (1 q 0 ) poszukuje nowych stanów obliczając dla każdej możliwej do wybrania ścieżki prawdopodobieństwo p ij = [η ij] α [τ ij ] β