Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Podobne dokumenty
Algorytmy mrówkowe (ang. Ant Colony Optimization)

Obliczenia Naturalne - Algorytmy Mrówkowe

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

Techniki optymalizacji

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

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

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

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

Obliczenia inspirowane Naturą

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

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

Techniki optymalizacji

Obliczenia naturalne Natural Computing. Informatyka II stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

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

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

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmy mrówkowe w dynamicznych problemach transportowych

Problem Komiwojażera - algorytmy metaheurystyczne

Metody Programowania

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

Wykład 4. Droga i cykl Eulera i Hamiltona

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Metoda UCT w stochastycznych problemach transportowych

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

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

Optymalizacja. Wybrane algorytmy

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Algorytmy heurystyczne w UCB dla DVRP

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

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

Obliczenia z wykorzystaniem sztucznej inteligencji

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

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

ALGORYTM KLASTERYZACJI W ZASTOSOWANIU DO PROBLEMU TRASOWANIA POJAZDÓW

Techniki optymalizacji

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Analiza stanów gry na potrzeby UCT w DVRP

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytmy genetyczne

Zadania laboratoryjne i projektowe - wersja β

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Techniki optymalizacji

OPTYMALIZACJA W LOGISTYCE

Algorytmy metaheurystyczne podsumowanie

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

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

Zastosowanie UCT w problemach transportowych ze zmiennym zakorkowaniem ulic

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

Algorytmy stochastyczne laboratorium 03

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

Ogólne wiadomości o grafach

Tomasz M. Gwizdałła 2012/13

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

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Problemy z ograniczeniami

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

Maciej Piotr Jankowski

Optymalizacja. Przeszukiwanie lokalne

Algorytm genetyczny (genetic algorithm)-

Optymalizacja ciągła

Algorytmy mrówkowe wprowadzenie.

Wyznaczanie optymalnej trasy problem komiwojażera

Klasyczne zagadnienie przydziału

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

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

Algorytmy ewolucyjne 1

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Projektowanie i analiza algorytmów

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

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

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

PEWNE METODY HYBRYDOWE W JEDNOKRYTERIALNEJ OPTYMALIZACJI KONSTRUKCJI SOME HYBRID METHODS FOR SINGLE CRITERIA DESIGN OPTIMIZATION

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

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

Algorytmy sortujące i wyszukujące

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

Obliczenia Naturalne - Wstęp

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

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

ROZWIĄZYWANIE ZAGADNIEŃ UKŁADANIA TRAS POJAZDÓW Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH. Wstęp

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

Algorytmy ewolucyjne

Metody przeszukiwania

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

PRZESZUKIWANIE LOKALNE I ALGORYTMY POPULACYJNE DLA WIELOKRYTERIALNEGO PROBLEMU GNIAZDOWEGO

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Zagadnienie transportowe

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Wybrane podstawowe rodzaje algorytmów

Heurystyczne metody przeszukiwania

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

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

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

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

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytmy i struktury danych

ZASTOSOWANIE ALGORYTMU MRÓWKOWEGO DO WYZNACZANIA MAKSYMALNEJ GRUPY WZAJEMNIE POŁĄCZONYCH ELEMENTÓW

Transkrypt:

Plan Literatura Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 Paweł Paduch Politechnika Świętokrzyska 5 czerwca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 1 z 51

Plan wykładu Plan Literatura 1 Plan Literatura 2 Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania 3 Krótki opis Algorytm Zalecane parametry 4 5 Problemy przydziału Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 2 z 51

Literatura Plan Literatura Marco Dorigo, Thomas Stützle - Ant Colony Optimization. Bradford Company, Scituate, MA, USA, 2004 HAS-SOP Home Page - http://www.idsia.ch// luca/has-sop.html Christian Blum, Marco Dorigo - Hcaco: the hyper-cube framework for ant colony optimization. in Proc. MIC 2001 Metaheuristics Int. Conf, strony 399 403, 2001 Tony White, Simon Kaegi, Terri Oda - Revisiting elitism in ant colony optimization. GECCO 03: Proceedings of the 2003 international conference on Genetic and evolutionary computation, strony 122 133, Berlin, Heidelberg, 2003. Springer-Verlag. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 3 z 51

Literatura Plan Literatura Çela, E. - The quadratic assignment problem: theory and algorithms. Combinatorial optimization. Kluwer Academic Publishers, 1998. Vittorio Maniezzo, Alberto Colorni, Marco Dorigo. - The ant system applied to the quadratic assignment, IEEE, 1994 Vittorio Maniezzo. - Exact and approximate nondeterministic tree-search procedures for the quadratic assignment problem. INFORMS J. on Computing,11:358 369, April 1999 Thomas Stützle. - Max-min ant system for quadratic assignment problems, 1997. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 4 z 51

Literatura Plan Literatura Thomas Stützle, Holger H. Hoos. - Max-min ant system, 2000. Gambardella L.M., Taillard E.D., Dorigo M. - Ant colonies for the quadratic assignment problem. Journal of the Operational Research Society, 50:167 176(10), 1 February 1999. Thomas Stützle, Marco Dorigo. - ACO algorithms for the quadratic assignment problem, strony 33 50. McGraw-Hill Ltd., UK, Maidenhead, UK, England, 1999 K. I. Aardal, C. P. M. van Hoesel, A. M. C. A. Koster, C. Mannino, A. Sassano. - Models and solution techniques for the frequency assignment problem. Berlin, Germany,2001 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 5 z 51

System hipersześcienny Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Hipersześcienny system dla ACO (ang. Hyper Cube Ant Colony Optimization - ) został wprowadzony przez Blum, Roli i Dorigo w celu automatycznego przeskalowywania wartości feromonowej tak, by były one w przedziale [0, 1]. Było to podyktowane przez sformułowanie wielu optymalizacyjnych problemów kombinatorycznych, których rozwiązanie może być reprezentowane przez binarne wektory. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 6 z 51

System hipersześcienny Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Zmienne decyzyjne, które mogą przyjmować wartości {1, 0}, zazwyczaj odpowiadają składnikom rozwiązania, gdyż są one używane przez mrówki do jego budowy. Rozwiązanie problemu odpowiada jednemu z narożników n wymiarowego hipersześcianu, gdzie n jest liczbą zmiennych decyzyjnych. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 7 z 51

Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Jednym ze sposobów tworzenia kresu dolnego dla rozważanego problemu jest pozwolenie na wybieranie przez każdą zmienną wartości rzeczywistych z przedziału [0, 1]. W takim przypadku zbiór możliwych rozwiązań S rx zawiera wszystkie wektory v R n będące wypukłymi kombinacjami binarnych wektorów x B n : v S rx v = v i B n γ i x i, γ i [0, 1], γi = 1. (1) Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 8 z 51

Aktualizacja feromonu Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Gdy wartości feromonowe znormalizujemy by mieściły się w przedziale [0, 1], wtedy związek z ACO staje się wyraźniejszy. W tym przypadku, wektor feromonowy τ = (τ 1,..., τ n ) odpowiada punktowi w S (wypukłej otoczce przestrzeni rozwiązań S). Gdy τ jest wektorem binarnym, odpowiada to rozwiązaniu problemu. W przypadku TSP zmienna decyzyjna x ij może odpowiadać krawędzi (i, j) i mieć wartość x ij = 1, gdy krawędź (i, j) jest użyta lub x ij = 0 gdy tak nie jest. W takim przypadku, wartość feromonowa jest związana z każdą zmienną decyzyjną, a to już jest bardzo bliskie sposobu rozwiązywania TSP za pomocą algorytmów ACO. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 9 z 51

Aktualizacja feromonu Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania By utrzymać wartość feromonu w przedziale [0, 1] jego uaktualnienie trzeba wykonać według poniższej reguły: gdzie τ k ij = 1/C k m h=1 (1/C h ), τ ij (1 ρ)τ ij + ρ m k=1 τ k ij, (2) jeżeli krawędź (i, j) jest użyta przez mrówkę k 0, w innym przypadku. (3) Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 10 z 51

Interpretacja graficzna Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Nowy wektor może być zinterpretowany jako przesunięcie starego wektora feromonowego w kierunku średniej ważonej rozwiązań użytych do uaktualnienia śladu feromonowego. Załóżmy, że zbiór możliwych rozwiązań zawiera 3 wektory (0,0,0), (1,1,0) i (0,1,1), wtedy feromonowy wektor τ przesuwa się w obszarze poszarzonego trójkąta rozpiętego pomiędzy trzema możliwymi rozwiązaniami. Dwa rozwiązania (0,0,0) i (1,1,0) zostały wygenerowane przez mrówki i użyte do uaktualnienia feromonu. τ będzie przesunięty w kierunku średniej ważonej d dwóch rozwiązań. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 11 z 51

Interpretacja graficzna Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Na rysunku widać też, że rozwiązanie (0,0,0) jest lepszej jakości niż (1,0,0) i dlatego przesunięcie jest bliżej niego. (0,1,1) (1,1,1) (0,0,1) (1,0,1) Rozwiązanie mrówki 2 (0,0,0) d (1,0,0) (1,1,0) Rozwiązanie mrówki 1 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 12 z 51

Konstruowanie rozwiązania Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Konstruowanie rozwiązania rozpoczyna się poprzez wylosowanie (z jednakowym prawdopodobieństwem) jednego połączenia pomiędzy miastami. Następnie w n 1 krokach dodawane są do częściowego rozwiązania s p (ang. partial solution) kolejne możliwe połączenia (składniki rozwiązania c i,xi J(s p ), J(s p ) określa zbiór możliwych składników rozwiązania, które mrówki mogą dodać do bieżącego częściowego rozwiązania s p. Wybór kolejnego składnika rozwiązania dokonywany jest za pomocą tzw. prawdopodobieństwa przejścia (ang. transition probabilities) określonym przez funkcję zwaną regułą przejścia stanu (ang. state transition rule). Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 13 z 51

Konstruowanie rozwiązania Aktualizacja feromonu Interpretacja graficzna Konstruowanie rozwiązania Reguła przejścia stanu jest funkcją feromonu oraz ewentualnie dodatkowych wartości (np. długości krawędzi). W AS reguła przejścia stanu określa prawdopodobieństwo dodania do bieżącego częściowego rozwiązania s p możliwego składnika rozwiązania c i,xi J(s p ), jako stosunek wartości feromonu τ i,xi (dla składnika c i,xi ) do sumy wartości feromonu dla wszystkich możliwych składników rozwiązania. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 14 z 51

Ant System Local Best Tour Krótki opis Algorytm Zalecane parametry Tony White, Simon Kaegi oraz Terri Oda przedstawili w swojej pracy Revisiting Elitism in Ant Colony Optimization modyfikację algorytmu EAS. W systemie mrówkowym była potrzeba globalnego obserwatora, który by stwierdził, która z tras jest najlepsza. Główną ideą jest pozbycie się tego globalnego obserwatora. Zamiast tego każda z mrówek pamięta najlepszą z tras, którą znalazła do tej pory i używa jej zamiast elitarnego rozwiązania. Wygląda to tak, jakby skala problemu została zredukowana do poziomu pojedynczej mrówki, która ma indywidualną kopie systemu mrówkowego używającego jednej elitarnej mrówki. Efektywność tego rozwiązania jest bardzo zbliżona do EAS Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 15 z 51

Algorytm Krótki opis Algorytm Zalecane parametry Algorytm jest bardzo podobny do EAS. Też składa się z dwóch głównych części, inicjalizacji i głównej pętli. Różnica polega na dodaniu Lokalnego Wyszukiwania, oraz zastąpieniu elitarnych mrówek lokalnymi najlepszymi mrówkami. Inicjalizacja Wczytaj początkowe wartości parametrów Ustaw początkową wartość feromonu na krawędziach Rozmieść mrówki w losowych miastach Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 16 z 51

Algorytm Krótki opis Algorytm Zalecane parametry Główna pętla 1 Konstruowanie rozwiązania Mrówki wybierają trasę zgodnie z prawdopodobieństwem danym wzorem jak w przypadku AS. Szanse na wybranie kolejnej krawędzi zależą od ilości feromonu τ i heurystyki η. Kolejne miasta wybierane z puli miast nieodwiedzonych, aż będzie ona pusta. 2 Zaimplementowane Lokalne Wyszukiwanie - w AS oryginalnie nie stosowano. 3 Aktualizacja najlepszej trasy - każda mrówka wylicza długość otrzymanej trasy i w razie poprawienia wyniku zapamiętuje ją. 4 Aktualizacja feromonu Odparuj Nanieś feromon przez wszystkie mrówki jak w AS cycle. Dodatkowo nanieś feromon przez wszystkie mrówki jak w AS cycle (ale na ich lokalne najlepsze trasy). Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 17 z 51

Zalecane parametry Krótki opis Algorytm Zalecane parametry W zalecane są następujące parametry: α = 1 β = 5 ρ = 0, 5 m = n, gdzie m liczba mrówek a n liczba miast τ 0 = 10 6 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 18 z 51

AS Zalety + dobra dokumentacja + prostota + intuicyjność Wady - stosunkowo słabe wyniki w porównaniu z następcami Cechy szczególne wszystkie mrówki nanoszą feromon 3 sposoby nanoszenia feromonu QAS (ilościowy) - feromon nanoszony po każdym kroku, stała ilość DAS (gęstościowy) - feromon nanoszony po każdym kroku, ilość zależna od długości krawędzi CAS (cykliczny) - feromon nanoszony dopiero gdy wszystkie mrówki znajdą rozwiązanie, ilość zależna od długości trasy Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 19 z 51

EAS Zalety + w porównaniu do AS lepsze rezultaty osiągnięte w mniejszej liczbie iteracji Wady - potrzeba pamiętania najlepszej trasy - dodatkowy parametr określający liczbę elitarnych mrówek Cechy szczególne na najlepszą trasę od początku działania algorytmu nanoszona jest dodatkowa ilość feromonu Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 20 z 51

ANT-Q Zalety + bardzo dobre rezultaty + feromon jest odparowywany tylko na krawędziach, które były użyte przez mrówki, przyspiesza to algorytm Wady - znaczny poziom komplikacji w aktualizacji feromonu - aktualizacja feromonu przez wszystkie mrówki w każdym kroku jest kosztowna - algorytm został zaniechany na rzecz jego następcy Cechy szczególne feromon aktualizowany jest tylko na krawędziach, gdzie poruszają się mrówki po znalezieniu trasy przez wszystkie mrówki wyliczane jest opóźnione wzmocnienie i feromon jest aktualizowany na najkrótszej trasie od początku działania algorytmu T gb lub na najkrótszej trasie w danej iteracji T ib Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 21 z 51

ACS Zalety + bardzo dobre rezultaty + feromon jest odparowywany tylko na krawędziach, które były użyte przez mrówki + nieznaczne uproszczenie w stosunku do ANT-Q + dobra dokumentacja Wady - nadal dość duży poziom komplikacji - aktualizacja feromonu przez wszystkie mrówki w każdym kroku jest kosztowna Cechy szczególne jeden z lepszych algorytmów mrówkowych odparowywanie tylko na krawędziach użytych przez mrówki dodatkowe wzmocnienie feromonu na najlepszej trasie Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 22 z 51

MMAS Zalety + bardzo dobre rezultaty + dobra dokumentacja + tylko jedna mrówka nanosi feromon Wady - potrzeba restartowania algorytmu gdy dojdzie do stagnacji Cechy szczególne wprowadzenie limitów dolnych i górnych na poziom feromonu restartowanie algorytmu inicjacja maksymalną ilością feromonu τ max Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 23 z 51

AS rank Zalety + wyniki nieco lepsze niż EAS Wady - nieco większy stopień komplikacji niż EAS - potrzeba sortowania wyników by utworzyć rankingi Cechy szczególne feromon aktualizowany jak w EAS dodatkowo kilka najlepszych mrówek aktualizuje feromon w ilościach zależnych od miejsca w rankingu Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 24 z 51

ANTS Zalety + obliczanie prawdopodobieństwa wyboru następnego miasta jest dużo mniej kosztowne niż AS Wady - duży stopień komplikacji - pierwotnie nie był zaprojektowany do TSP - potrzeba liczenia dolnej granicy Cechy szczególne modyfikacja w sposobie liczenia prawdopodobieństwa modyfikacja w sposobie aktualizacji feromonu (brak parametru parowania) lepsze rozwiązania od średniej dodają feromon, gorsze odejmują Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 25 z 51

BWAS Zalety + do kilkuset miast bardzo dobre wyniki, nawet lepsze niż ACS Wady - spory poziom komplikacji Cechy szczególne najgorsza bieżąca ścieżka powoduje odparowanie feromonu najlepsza globalna ścieżka powoduje dodanie feromonu restartowanie jak w MMAS wprowadzono element mutacji Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 26 z 51

Zalety + można rozwiązywać wiele problemów kombinatorycznych, których rozwiązanie może być reprezentowane przez binarne wektory Wady - duży stopień komplikacji Cechy szczególne wartość feromonowa przeskalowana do przedziału [0, 1] rozwiązania leżą w narożnikach hipersześcianu Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 27 z 51

Zalety + jakość rozwiązania lepsza od EAS + możliwość łatwego rozproszenia + mniej parametrów niż EAS + prostota Wady - dość uboga dokumentacja Cechy szczególne algorytm bazuje na EAS pozbycie się globalnego obserwatora pamiętającego najlepszą trasę każda mrówka pamięta swoją najlepszą trasę Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 28 z 51

Pierwsze zastosowania Problemy przydziału Aby sprawdzić przydatność nowych algorytmów metaheurystycznych trzeba zaimplementować je do rozwiązania wielu problemów i porównać z innymi algorytmami. Tak stało się też z algorytmami mrówkowymi. Jednym z najlepszych narzędzi do testowania rozwiązań problemów NP-trudnych jest zadanie komiwojażera (TSP). Z czasem pojawiały się kolejne zastosowania. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 29 z 51

Główne obszary zastosowań Problemy przydziału Obecnie można mówić już o dziesiątkach zastosowań, które można pogrupować według następujących kategorii: Problemy wyznaczania trasy (ang. routing problems) Problemy przydziału (ang. assignment problems) Problemy harmonogramowania (ang. scheduling problems) Problemy sumy podzbioru (ang. subset problem) Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 30 z 51

Problemy przydziału W problemie wyznaczania trasy: mamy jednego lub wielu agentów, określony zbiór lokacji, każdy agent musi odwiedzić wszystkie lokacje w odpowiedniej kolejności. Ogólny problem polega na znalezieniu takiej kolejności, by trasa pomiędzy kolejnymi lokacjami była minimalna. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 31 z 51

Problemy przydziału Do zagadnienia wyznaczania trasy można zaliczyć takie problemy jak: Problem sekwencyjnego porządkowania Problem marszrutyzacji Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 32 z 51

Problemy przydziału Problem sekwencyjnego porządkowania Jest to problem asymetrycznego TSP różniący się tym, że zamiast cyklu Hamiltona mamy znaleźć ścieżkę Hamiltona (z węzła 1 do n) oraz, że brane są pod uwagę ograniczenia pierwszeństwa. Takie ograniczenia wymagają, by pewny węzeł i był zawsze odwiedzony przed węzłem j. Adaptacją algorytmu mrówkowego ACO do problemu sekwencyjnego porządkowania jest HAS-SOP (ang. Hybrid Ant System - Sequential Ordering Problem) zaprezentowaną przez Gambardella i Dorigo w 1997 roku 1. 1 L. M. Gambardella, M. Dorigo. Has-sop: Hybrid ant system for the sequential ordering problem, 1997. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 33 z 51

Problemy przydziału Problem sekwencyjnego porządkowania Główną ideą algorytmu HAS-SOP było zastosowanie lokalnego szukania (ang. local search). Jest to specyficzna procedura 3-opt zwana SOP-3-exchange, która może sobie poradzić z wieloma ograniczeniami pierwszeństwa bez jednoczesnego zwiększania złożoności obliczeniowej. Wyniki uzyskane za pomocą HAS-SOP były znacznie lepsze od dotychczasowego algorytmu genetycznego MPO/AI specjalnie zaprojektowanego rozwiązywania zadań sekwencyjnego porządkowania. HAS-SOP jest obecnie najlepszym algorytm dla SOP 2 2 Luca Maria Gambardella, Marco Dorigo. An ant colony system hybridized with a new local search for the sequential ordering problem. INFORMS J. on Computing, 12:237 255, July 2000 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 34 z 51

Problem marszrutyzacji Problemy przydziału Poblem wyznaczania trasy pojazdu (ang. Vehicle Routing Problem - VRP) 3 jest problemem zarządzania dystrybucją, taką jak np. w firmach kurierskich. Polega on na wyznaczeniu optymalnych tras dla określonej liczby pojazdów, których zadaniem jest obsłużenie zbioru klientów. Taką optymalizację należy wykonać przy pewnych ograniczeniach. 3 P. Toth, D. Vigo. The vehicle routing problem. SIAM monographs on discrete mathematics and applications. Society for Industrial and Applied Mathematics, 2002 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 35 z 51

Problem marszrutyzacji Problemy przydziału W klasycznym zagadnieniu VRP mamy następujące założenia: drogi łączące poszczególnych klientów tworzą graf nieskierowany, koszt dotarcia od klienta i do klienta j jest dany (np. w postaci czasu), do obsłużenia jest n klientów, każdy klient obsługiwany jest przez jeden pojazd, jeden pojazd może obsługiwać wielu klientów, trasa każdego pojazdu zaczyna się i kończy w bazie, dodatkowym założeniem może być ograniczona ładowność pojazdu, problem CVRP (ang. Capacitated VRP), można założyć, że określony klient może być obsłużony w ścisłych oknach czasowych VRPTW (ang. VRP Time Window). Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 36 z 51

Problem marszrutyzacji Problemy przydziału Celem jest znalezienie zbioru tras takich by zminimalizować czas oczekiwania klientów. Do rozwiązania CVRP zaadoptowano algorytm AS rank (AS rank CVRP) 4 udoskonalony przez Reimanna, Stummera i Doernera (AS rank CVRPsav) 5. 4 Bernd Bullnheimer, Richard F. Hartl, Christine Strauss. An improved ant system algorithm for the vehicle routing problem. Annals of Operations Research, 89:319 328, 1999. 5 Marc Reimann, Michael Stummer, Karl Doerner. A savings based ant system for the vehicle routing problem. Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 02, strony 1317 1326, San Francisco, CA, USA, 2002. Morgan Kaufmann Publishers Inc. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 37 z 51

Problem marszrutyzacji Problemy przydziału W przypadku VRPTW funkcja celu jest nieco inna. Minimalizujemy liczbę ciężarówek i sumaryczny czas jazdy. Przy czym preferowana jest mniejsza liczba pojazdów niż minimalny całkowity czas podróży. Obecnie najlepszym algorytmem mrówkowym zastosowanym do rozwiązania tego problemu jest MACS-VRPTW 6, gdzie MACS oznacza (ang. Multiple ACS). 6 L. M. Gambardella, E. Taillard, G. Agazzi. Macs-vrptw: A multiple ant colony system for vehicle routing problems with time windows, 1999. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 38 z 51

Problem marszrutyzacji Problemy przydziału W MACS użyte są dwie równolegle pracujące, oddziałujące na siebie kolonie mrówek (ACS-VEI i ACS-TIME). Kolonia ACS-VEI minimalizuje liczbę pojazdów (tras), stara się znaleźć możliwe rozwiązanie dla v min 1 Jeżeli to się uda oba algorytmy są restartowane i zaczynają z nowym v min. kolonia ACS-TIME stara się dla danej liczby pojazdów zminimalizować sumaryczny czas podróży. startuje z v min pojazdami, Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 39 z 51

Problemy przydziału Problemy przydziału Problem przydziału polega na przypisaniu jednostek (obiektów, zadań, itp.) do pewnej liczby zasobów (miejsca, agenci, itp.) z zastrzeżeniem pewnych ograniczeń. Przypisanie może być ogólnie reprezentowane jako mapowanie zbioru I na zbiór J, gdzie każde przypisanie ma jakiś koszt. Funkcją celu jest minimalizacja sumarycznych kosztów. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 40 z 51

ACO w problemie przydziału Problemy przydziału W celu zaimplementowania ACO do rozwiązania problemu przydziału, trzeba przenieść problem do grafu konstrukcyjnego G C = (C, L), gdzie C jest zbiorem komponentów (zwykle zawiera wszystkie elementy i wszystkie zasoby), L jest zbiorem połączeń, które w pełni łączą graf. Mamy dwa typy decyzyjne. kolejność elementów w jakich będą one układane do których zasobów przypisać kolejne elementy. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 41 z 51

ACO w problemie przydziału Problemy przydziału Ślad feromonowy τ ij jak i decyzja heurystyczna η ij, mogą być skojarzone z obydwoma typami i są związane z parą (i, j), gdzie i jest elementem a j jest zasobem. Jednak w większości przypadków ślad feromonowy wykorzystuje się jedynie do kojarzenia elementów z zasobami, kolejność zaś jest ustanawiana w sposób heurystyczny lub zupełnie losowy Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 42 z 51

Kwadratowe zagadnienie przydziału Problemy przydziału Pierwsze sformułowanie zadania przydziału kwadratowego (ang. Quadratic Assignment Problem - QAP) zostało sformułowane w 1957 roku gdy Koopmans i Beckmann wyprowadzili matematyczny model przydziału ekonomicznych aktywności do zbioru lokacji. Obecnie QAP ma wiele praktycznych zastosowań jak: harmonogramowanie, projektowanie rozmieszczenia układów elektronicznych na płytkach drukowanych, alokacja zadań w przetwarzaniu równoległym i rozproszonym, statystyka i analiza danych, projektowanie paneli kontrolnych, klawiatur, rozmieszczenie budynków. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 43 z 51

Sformułowanie problemu Problemy przydziału Matematycznie problem można przedstawić za pomocą dwóch macierzy A = [a ij ] oraz B = [b rs ], obie o rozmiarach nxn, gdzie a ij jest odległością pomiędzy punktami i oraz j, b rs jest kosztem przewozu pomiędzy zadaniem r i s. W takim wypadku funkcją celu jest opisana poniższą zależnością: f (π) = n i=1 j=1 n b ij a πi π j, (4) gdzie π i jest lokalizacją obiektu i w bieżącym rozwiązaniu π S(n), S(n) - jest zbiorem permutacji zbioru {1, 2,..., n}. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 44 z 51

Cel Problemy przydziału Celem QAS jest znalezienie przypisania obiektów do lokalizacji tak, by funkcja celu była jak najmniejsza. b ij a πi π j oznacza koszt wkładu jednoczesnego przydziału obiektu i do lokalizacji π i i obiektu j do lokalizacji π j. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 45 z 51

Przykłady algorytmów Problemy przydziału Do algorytmów mrówkowych, którym z powodzeniem udało się podołać kwadratowemu zagadnieniu przydziału należą: AS jako AS-QAP ANTS jako ANTS-QAP MMAS jako MMAS-QAP Hybrid AS (HAS) FANT (Fast Ant System) Zarówno HAS jak i FANT są jedynie inspirowane systemami mrówkowymi i w znacznym stopniu odstępują od głównego aspektu metaheurystycznych struktur ACO. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 46 z 51

Uogólnione zagadnienie przydziału Problemy przydziału W uogólnionym problemie przydziału (ang. Generalized Assignment Problem - GAP), zbiór zadań musi być przydzielony do zbioru agentów w taki sposób, by koszt funkcji przydziału był minimalny. Każdy agent j ma ograniczoną pojemność zasobów a j, a każde zadanie i przypisane do agenta j zabiera b ij z jego zasobów. Dodatkowo jest wprowadzony koszt d ij przydziału zadania i do agenta j. Jednym z pierwszych algorytmów mrówkowych zastosowanych do rozwiązania GAP był MMAS-GAP wzorowany na MMAS 7 7 Helena Ramalhinho Louren co, Daniel Serra. Adaptive approach heuristics for the generalized assignment problem. Raport instytutowy, Economic Working Papers Series No.304, Universitat Pompeu Fabra, Dept. of Economics and Management, 1998 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 47 z 51

Kolorowanie Grafów Problemy przydziału Jednym z pierwszych problemów przydziału bazujących na ACO był problem kolorowania grafów (ang. Graph Coloring Problem - GCP). Dla danego grafu nieskierowanego G = (N, A) należy wyznaczyć minimalną liczbę kolorów przypisanych do węzłów w taki sposób, by wszystkie pary sąsiadujących ze sobą węzłów miały różne kolory. Zagadnienie to próbowali rozwiązać Costa i Hertz 8 używając do tego AS. Wydajność algorytmu w jego podstawowej wersji była dość słaba, o wiele lepsze były rozwiązania hybrydowe albo tabu search. Jednak zastosowanie bardziej zaawansowanych ACO niż AS w połączeniu z przeszukiwaniem lokalnym powinno dać lepsze wyniki 8 D. Costa, A. Hertz. Ants can colour graphs. The Journal of the Operational Research Society, 48(3):295 305, 1997 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 48 z 51

Problem przydziału częstotliwości Problemy przydziału Problem przydziału częstotliwości (ang. Frequency Assignment Problem - FAP) polega na przydzieleniu częstotliwości radiowych do nadajników na pewnym obszarze tak, by nie zakłócały się wzajemnie. Pasmo częstotliwości powinno mieć jak najmniejszą szerokość. Istnieje bardzo wiele wariantów tego problemu. Jedną z bardziej skutecznych adaptacji algorytmu mrówkowego uzyskali Maniezzo i Carbonaro 9 stosując algorytm ANTS. 9 Vittorio Maniezzo, Antonella Carbonaro. An ants heuristic for the frequency assignment problem. Future Gener. Comput. Syst., 16:927 935, June 2000 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 49 z 51

Pytania Problemy przydziału? Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 50 z 51

koniec Problemy przydziału Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 51 z 51