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

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

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

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

Wykład 4. Droga i cykl Eulera i Hamiltona

Techniki optymalizacji

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Obliczenia Naturalne - Algorytmy Mrówkowe

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 metaheurystyczne Wykład 6. Piotr Syga

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

Obliczenia inspirowane Naturą

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Wyznaczanie optymalnej trasy problem komiwojażera

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

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

Algorytmy mrówkowe w dynamicznych problemach transportowych

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

OPTYMALIZACJA W LOGISTYCE

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}

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

Algorytmika Problemów Trudnych

Techniki optymalizacji

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

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Digraf. 13 maja 2017

Przykłady problemów optymalizacyjnych

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

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

Algorytmy mrówkowe wprowadzenie.

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Wybrane podstawowe rodzaje algorytmów

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

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

Algorytmy stochastyczne laboratorium 03

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

Metoda podziału i ograniczeń

Metoda UCT w stochastycznych problemach transportowych

Problem Komiwojażera - algorytmy metaheurystyczne

RÓWNANIA NIELINIOWE Maciej Patan

Programowanie dynamiczne cz. 2

Matematyczne Podstawy Informatyki

Algorytmy genetyczne

Algorytmy i Struktury Danych.

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Algorytmy i Struktury Danych.

TEORIA GRAFÓW I SIECI

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

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

Mrówka Pachycondyla apicalis

Obliczenia z wykorzystaniem sztucznej inteligencji

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

Algorytmiczna teoria grafów

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Elementy teorii grafów Elementy teorii grafów

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Spis treści. Przykład. Przykład 1 Przykład 2. Twórcy Informacje wstępne Pseudokod Przykład. 1 Grafy skierowane z wagami - przypomnienie

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

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

Obliczenia z wykorzystaniem sztucznej inteligencji

Opracowanie prof. J. Domsta 1

Optymalizacja. Wybrane algorytmy

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

Optymalizacja. Przeszukiwanie tabu

Sortowanie topologiczne skierowanych grafów acyklicznych

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Znajdowanie skojarzeń na maszynie równoległej

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

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

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

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Grafy Alberta-Barabasiego

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

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

Programowanie sieciowe. Tadeusz Trzaskalik

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

Zastosowanie UCT w problemach transportowych ze zmiennym zakorkowaniem ulic

Lista 0. Kamil Matuszewski 1 marca 2016

Spacery losowe generowanie realizacji procesu losowego

Wstęp do programowania

Wykład 6. Wyszukiwanie wzorca w tekście

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.

Algorytm grupowania danych typu kwantyzacji wektorów

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Wykład 10 Grafy, algorytmy grafowe

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

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

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

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

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

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Transkrypt:

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

Problem do rozwiązania zazwyczaj jest przedstawiany jako wędrówka komiwojażera(źródło nazwy) od miasta do miasta.

Komiwojażer ma podróżować w sposób taki, aby odwiedzić każde z miast i wrócić do miasta startowego.

Dodatkowo minimalizując koszt podróży. Ostatni z warunków pociąga za sobą warunek dodatkowy, każde miasto zostanie odwiedzone tylko raz.

Niech V = {a,...,z} będzie zestawem miast. A = {(r,s):r,s c V} będzie zestawem krawędzi δ(r,s) będzie miarą kosztu krawędzi (r,s)ca

Prawdopodobieństwo, z którym mrówka k, w mieście r, przejdzie do miasta s.

τ feromon η = 1/δ odwrotność długości krawędzi J k (r) zestaw miast pozostałych do odwiedzenia przez mrówkę k będącą w mieście r β parametr, który determinuje relatywną ważność feromonu przeciw odległości (β>0)

Gdy wszystkie mrówki zbudują swoje trasy, feromon jest aktualizowany na wszystkich krawędziach zgodnie z:

0 < α < 1 parametr określający wietrzenie feromonów. L k długość trasy wykonanej przez mrówkę k m ilość mrówek

Zasada zmiany pozycji Mrówka na pozycji r wybiera miasto s w zależności od:

q jest losową liczbą z przedziału [0...1] q 0 jest parametrem ( 0 <= q 0 <= 1 ) S jest losową liczbą wybraną na podstawie rozkładu prawdopodobieństwa danego ze wzoru (1)

Globalna zasada aktualizacji Mrówka, która utworzyła najkrótszą trasę od samego początku ma przywilej zostawienia po sobie feromonu. Poziom feromonu jest zmienianny zgodnie z:

0 < α < 1 parametr określający wietrzenie feromonów L gb długoć globalnie najlepszej trasy od samego początku

Zasady lokalnej aktualizacji Podczas budowy rozwiązania mrówki odwiedzają krawędzie i zmieniają jej poziom feromonów poprzez zastosowanie lokalnej zasady aktualizacji:

0 < r < 1 jest parametrem

1)/*Faza inicjalizacji*/ For each pary (r,s)τ(r,s) := r 0 End-for For k := 1 to m do Niech r k1 będzie miastem startowym mrówki k J k (r k1 := {1,...,n}-r k1 /*zestaw miast do odwiedzenia przez mrowke k w miescie r k1 */ r k := r k1 /* r k jest miastem gdzie znajduje się mrówka k */ End-for

2)/*To jest faza, w której mrówki budują ich trasy. Trasa mrowki k będzie przechowywana w Tour k */ For i := 1 to n do If i<n Then For k := 1 to m do Wybierz następne miasto s k na podstawie regól (3) oraz (1) J k (s k ) := J k (r k )-s k Tour k (i) := (r k,s k ) End-for Else

For k := 1 to m do /*w tym cyklu wszystkie mrowki wracaja do miasta startowego*/ s k := r k1 Tour k (i) := (r k,s k ) End-for End-if /*W tej fazie następuja lokalne aktualizacje i feromony są aktualizowane za pomocą reguły(5)*/ For k := 1 to m do τ(r k,s k ) := (1-p)τ(r k,s k )+pτ 0 r k := s k End-for End-for

3)/* W tej fazie następujegloblna aktualizacja i feromony są aktualizowane */ For k := 1 to m do Oblicz L k /* Długość trasy wykonanej przez mrowke k*/ End-for Oblicz L best For each edge(r,s) τ(r k,s k ) := (1- α)τ(r k,s k ) + α(l best )^(-1) End-for If(End.condition = True) Wypisz najkrótszą L k else goto Phase2

Ant Colony Optimalization Na początku wszystkie krawędzie posiadają ilość feromonu f, równą 1. W kolejnym kroku, zgodnie z algorytmem mrówki wyruszają w drogę po grafie. W wyborze drogi posługują się wcześniej podanymi regułami.

W kolejnym kroku na podstawie długości przebytej drogi obliczana jest ilość feromonu do odłożenia na przebytej ścieżce w grafie. W tym momencie następuje również zwietrzanie feromonu ze wszystkich ścieżek.

Po przejściu wszystkich mrówek najkrótsza trasa jest dodatkowo premiowana

Po pewnym czasie działania tego algorytmu prawie wszystkie, jak nie wszystkie, mrówki zaczną poruszać się po jednej ścieżce. Można mieć przypuszczenie, że otrzymane rozwiązanie będzie zbliżone do optymalnego. W przeciwnym razie można w dalszym ciągu kazać mrówką wykonywać swą wędrówkę w nieskończonej pętli. Kiedyś, przypadkiem, zostanie otrzymane rozwiązanie optymalne. Warunkiem zakończenia może być wykonanie pewnej ilości iteracji lub monitorowanie różnic w ilości feromonów na różnych ścieżkach.

http://ieeexplore.ieee.org/stamp/stamp.jsp?t p=&arnumber=585892 wikipedia