Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 18 stycznia 2013
Przedmiot i cele pracy dyplomowej Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Przedmiotem pracy dyplomowej jest implementacja algorytmu mrówkowego dla wybranego problemu. Problem marszruty posiada wiele rozszerzeń z pośród których należy wybrać część, która zostanie rozważona.
Problem komiwojażera Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Definicja Problem optymalizacyjny polegający na znalezieniu najkrótszego cyklu odwiedzającego wszystkie wierzchołki w pełnym grafie ważonym.
Rozwiązania Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Problem NP-Trudny n! możliwych tras Algorytm dynamiczny: O(n 2 2 n ) Programowanie liniowe (do 200 miast) Aktualny rekord to rozwiązanie dla 85900 wierzchołków przy użyciu metody podziału i odcinania. Czas obliczeń: 136 lat procesora.
Rozwiązania Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Problem NP-Trudny n! możliwych tras Algorytm dynamiczny: O(n 2 2 n ) Programowanie liniowe (do 200 miast) Aktualny rekord to rozwiązanie dla 85900 wierzchołków przy użyciu metody podziału i odcinania. Czas obliczeń: 136 lat procesora.
Problem marszrutyzacji Przedmiot i cele pracy dyplomowej Problem komiwojażera 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
Rozszerzenie problemu marszrutyzacji Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Problemy umożliwiające uwzględnienie okien czasowych (VRP with Time Windows) odbioru/wysłania towaru. Problemy w których kosztowa funkcja celu zastąpiona została innymi parametrami (np. czas wykonania zleceń, długość tras, ilość przewiezionego ładunku) Problemy uwzględniające niehomogeniczność taboru Dynamiczne zmiany w parametrach problemu (DVRP)
Rozwiązanie Przedmiot i cele pracy dyplomowej Problem komiwojażera Problem marszrutyzacji Problem składa się z dwóch podproblemów: 1 Problem plecakowy wybierający towary, a zarazem klientów danej ciężarówki (bądź jej konkretnego kursu). 2 Problem komiwojażera dla określonej ciężarówki załadowanej określonym towarem.
Algorytm mrówkowy Algorytm mrówkowy Inny przykład Obliczenia równoległe Definicja Algorytm mrówkowy jest algorytmem probabilistycznym służącym najkrótszej ścieżki w grafie. Symuluje on zachowanie rzeczywistych mrówek, które chodzą losowo w oparciu o natężenie feromonu zostawionego przez inne mrówki.
Klasyczny przykład Algorytm mrówkowy Inny przykład Obliczenia równoległe
Inny przykład Algorytm mrówkowy Inny przykład Obliczenia równoległe
Algorytm mrówkowy Inny przykład Obliczenia równoległe Co się stanie jeśli zasymulujemy 100 mrówek. Każda mrówka zostawia α feromonu na całej trasie. F L = 0.01 + 1 α = 0.01 + α 0.1 10 F R = 0.99 + 99 α 11 = 0.99 + α 9 F L > 0.01 F R 0.99
Obliczenia równoległe Algorytm mrówkowy Inny przykład Obliczenia równoległe Budowa algorytmu mrówkowego umożliwia niemal dowolne wprowadzenie obliczeń równoległych. W danej epoce jednostka obliczeniowa może wykonać obliczenia dla dowolnej ilości mrówek. Z punktu widzenia wartości oczekiwanej jednostki mogą prowadzić własne niezależne symulacje uwzględniające modyfikacje feromonów dokonując co pewien czas synchronizacji zmian z innymi węzłami.
Dostępna literatura Dostępna literatura Co można zrobić? Technologia Bogate zasoby ogólnodostępne: IEEE Cirrelt CiteSeerX
Dostępna literatura Co można zrobić? Technologia Algorytm mrówkowy wydaje się być bardzo dobrym rozwiązaniem jeśli chodzi o dynamicznie zmieniające się środowisko. Rozwiązanie nie powinno ulec znaczącej zmianie jeśli zmianie uległa mała część środowiska. Z macierzy feromonów można odczytać nie tylko najlepsze rozwiązanie, ale też inne rozwiązania o małym koszcie. Można zmodyfikować algorytm by rozwiązania dobre nigdy nie znikały w pełni z macierzy feromonów (ograniczenie przepustowości ścieżek).
Technologia Dostępna literatura Co można zrobić? Technologia Część obliczeniowa w formie biblioteki Interfejs graficzny w języku C# Możliwość testowania na rzeczywistych danych, np. OpenStreetMap