Algorytmy mrówkowe w dynamicznych problemach transportowych

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

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

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

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Wykład 4. Droga i cykl Eulera i Hamiltona

Techniki optymalizacji

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 (ang. Ant Colony Optimization)

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

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

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Obliczenia inspirowane Naturą

Metoda UCT w stochastycznych problemach transportowych

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Grafy Alberta-Barabasiego

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

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

Digraf. 13 maja 2017

Prawa potęgowe w grafach przepływu informacji dla geometrycznych sieci neuronowych

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

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

ALHE. prof. Jarosław Arabas semestr 15Z

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

TEORETYCZNE PODSTAWY INFORMATYKI

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Metody Programowania

Obliczenia Naturalne - Algorytmy Mrówkowe

AiSD zadanie trzecie

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

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

Wyznaczanie optymalnej trasy problem komiwojażera

Algorytmy stochastyczne laboratorium 03

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

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

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

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

Optymalizacja ciągła

Przykład planowania sieci publicznego transportu zbiorowego

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

Suma dwóch grafów. Zespolenie dwóch grafów

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

Analiza Danych Sprawozdanie regresja Marek Lewandowski Inf 59817

Teoria grafów - Teoria rewersali - Teoria śladów

Zasady sporządzania modelu sieciowego (Wykład 1)

Przykładowy zestaw zadań nr 1 z matematyki Odpowiedzi i schemat punktowania poziom podstawowy ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 1

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 1 POZIOM PODSTAWOWY

Algorytmika Problemów Trudnych

Zastosowanie UCT w problemach transportowych ze zmiennym zakorkowaniem ulic

Implementacja filtru Canny ego

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Testowanie hipotez statystycznych cd.

Graf. Definicja marca / 1

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

Automatyczny dobór parametrów algorytmu genetycznego

KURS MATEMATYKA DYSKRETNA

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

SZTUCZNA INTELIGENCJA

a) 7 b) 19 c) 21 d) 34

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Priorytetyzacja przypadków testowych za pomocą macierzy

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

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

Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

Matematyczne Podstawy Informatyki

Stosowana Analiza Regresji

Spacery losowe generowanie realizacji procesu losowego

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Podstawowe własności grafów. Wykład 3. Własności grafów

Kolorowanie wierzchołków grafu

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

Strategie ewolucyjne (ang. evolu4on strategies)

Elementy teorii grafów Elementy teorii grafów

TEORIA GRAFÓW I SIECI

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Opracowanie prof. J. Domsta 1

Metody Statystyczne. Metody Statystyczne. #8 Błąd I i II rodzaju powtórzenie. Dwuczynnikowa analiza wariancji

Diagnozowanie sieci komputerowej metodą dialogu diagnostycznego

), którą będziemy uważać za prawdziwą jeżeli okaże się, że hipoteza H 0

Obliczenia z wykorzystaniem sztucznej inteligencji

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Problem Komiwojażera - algorytmy metaheurystyczne

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

Algorytmiczna teoria grafów

OPTYMALIZACJA W LOGISTYCE

Matematyczne Podstawy Informatyki

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

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

Obliczenia z wykorzystaniem sztucznej inteligencji

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Programowanie sieciowe. Tadeusz Trzaskalik

Przykłady problemów optymalizacyjnych

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

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

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Transkrypt:

y w dynamicznych problemach transportowych prof. dr hab Jacek Mandziuk MiNI, PW 3 czerwca 2013

Cel pracy Zbadanie zachowania algorytmu go zwykłego oraz z zaimplementowanymi optymalizacjami dla problemów dynamicznych 1 zaimplementowanie algorytmu statycznego różne sposoby rozkładania optymalizacje: Reduce Crossing oraz 2Opt 2 zaimplementowanie algorytmu go dodawanie i usuwanie wierzchołków korki 3 optymalizacje lokalne dla zdarzeń dynamicznych

na podstawie prac Marco Dorigo podstawa do dalszych testów znalezienie ścieżki rozłożenie

All MinMax Elite τ i,j = [ τ i,j = [ m k=1 τ k i,j] τmax τ min τ i,j = [ τi,j best ] τmax τ min N k=1 τ k i,j] τmax τ min { τi,j k Q/Lk = 0 { τi,j best Q/Lbest = 0 τ k i,j = { (N k) Q/Lk 0

cd. Parowanie τ i,j = (1 ρ) τ i,j różnice tylko w parametrze Q odpowiednie dobranie pozostałych parametrów powinno zapewnić podobne natężenie w całym grafie więc inne parametry zostają bez zmian

Rezultaty

Szukanie ścieżki p k ij = τ α ij η β ij τ α ij η β ij η ij = 1 d ij p k ij - prawdopodobieństwo wyboru krawędzi k τ ij - ilość na krawędzi ij d ij - odległość waga połączenia pomiędzy wierzchołkami i j α - feromon β - odległość waga połączenia

Optymalizacje globalne Idea ulepszenie ścieżki znalezionej przez pojedynczą mrówkę poprawiamy wagę cykli w grafie (szukamy optymalnego cyklu) y ReduceCrossing 2Optimal

Rezultaty MinMax

Rezultaty Elite

Rezultaty All

Rezultaty porównanie uwaga: algorytm 2Opt ma tez duży wpływ na działanie algorytmu dla dynamicznych zdarzeń

Obsługiwane zdarzenia Dodanie wierzchołka Usunięcie wierzchołka Korek na krawędzi uwaga: zdarzenia mogą się zazębiać

Parametry 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie

Wyczyszczenie grafu 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie * powinno być dobre dla małych grafów * dla dużych: tracimy cenne informacje o rozwiązaniu

Uśrednienie w całym grafie 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie * wylicz średni feromon z grafu * rozłóż go na krawędziach odchodzących od miejsca zdarzenie * przerywa cykle

Uśrednienie w r-klice 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie * idea jednego z zespołów: k-klika * dobra metoda bo nie przerywa cykli * problem definicji k (funkcja k(n)?) * r-klika zależność od odległości i od promienia grafu

Odparowanie z krawędzi korka 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie

Wygładzanie 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie τ ij = [a τ ij ( ln( τ ij τ max b))

Uśrednianie 1 rozłożenie w grafie 1 brak zmian 2 wyczyszczenie grafu 3 uśrednienie w całym grafie 4 uśrednienie w r-klice 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie τ ij = [a τ ij ] τmax τ min

Parametry Testowane 1 rozłożenie w grafie (Set Pheromon Type) 1 brak zmian (No action) 2 wyczyszczenie grafu (Clear) 3 uśrednienie w całym grafie 4 uśrednienie w R-klice (R-clique) 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie

Parametry Testowane 1 rozłożenie w grafie (Set Pheromon Type) 1 brak zmian (No action) 2 wyczyszczenie grafu (Clear) 3 uśrednienie w całym grafie 4 uśrednienie w R-klice (R-clique) 2 odparowanie z krawędzi korka 3 wygładzenie 4 odparowanie dodatkowo testy z i bez 2Opt

Proste przypadki dodawanie i usuwanie wierzchołków pojedyncze korki Przypadki mało ciekawe - algorytm radzi sobie z nimi dobrze Ciekawsze przypadki - duże korki

Porównanie 2Opt i NoOpt (NoAction)

Zachowanie algorytmu dla R-kliki (NoOpt)

Wygładzanie

2Opt

Porównanie wszytskich metod

Cel Znalezienie parametrów zdarzeń dynamicznych dla których algorytm zbiegnie w okolice najlepszego rozwiązania.

Założenia 1 algorytm zbiega w okolice najlepszego rozwiązania i oscyluje wokół niego (a nie zwracanie losowe wartości) 2 algorytm nie traci informacji o rozwiązaniu jego pierwsze rozwiązanie po zdarzeniu dynamicznym nie powinno być dużo gorsze od dotychczasowej średniej (z uwzględnieniem zmienionej wartości (nowa krawędź, wartość korka)). Wyjątkami od tej sytuacji mogą być dwa przypadki: 1 całkowite wyczyszczenie w grafie 2 odparowanie/wygładzenie w całym grafie

Graficznie

Uzasadnienie i dalsze wnioski nie symuluje zachowań kierowców, a znajduje najlepsze rozwiązanie system do obsługi dyskretnych zdarzeń tylko stałe korki dużo iteracji pomiędzy zdarzeniami

ogólny schemat 1 dodawanie i usuwanie pojedynczych wierzchołków (w1, w2) 2 zakorkowanie części grafu (k1, k2) 3 testy mieszane 1 sekwencyjny: k1, w1, k2, w2, /k1, /w1, /k2, /w2 2 kapsułowy: w1, w2, k1, k2, /k2, /k1, /w2, /w1

n45

n101

n78

n80

Wnioski były przeprowadzane w zeszłą sobotę, wyniki nie sa jeszcze opracowane. Na podstawie przejrzenia kilku wykresów dla testów mieszanych dla grafów n45 oraz n101 nasuwają się kilka pierwszych wniosków, przedstawionych na kolejnych slajdach (wykresy w osobnym dokumencie).

Wnioski ogólne większe grafy są mniej wrażliwe na zmiany (koszt zmiany jest mniejszy) nawet dla dużych korków optymalizacja 2-opt powoduje brak dużych odchyleń (widać to dla dużego grafu - być może to też kwestia definicji korków?) dodawanie i usuwanie wierzchołków - z tym każdy algorytm radzi sobie dobrze (w testach kapsułowych dobrze widać, że komplikacje zaczynają się dopiero przy korkach)

Wnioski o konkretnych optymalizacjach Clear działa dobrze - szczególnie dla optymalizacji 2Opt RClique bez 2Opt - utrzymuje rozwiązanie na pewnym poziomie (ale odchylenie standardowe jest bardzo duże) Dziwne zachowanie czystego algorytmu dla korków - jakość rozwiązania pogarsza się - prawdopodobnie duży korek powoduje, że algorytm nie znajduje lepszej ścieżki i krawędzie korka maja coraz więcej (?)

Dziękuje za uwagę