Plan Literatura Obliczenia Naturalne - y Mrówkowe cz. 4 Paweł Paduch Politechnika Świętokrzyska 12 czerwca 2014 Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 1 z 37
Plan wykładu Wstęp Plan Literatura 1 Wstęp Plan Literatura 2 3 Definicja Główne problemy Rezultaty 4 Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 2 z 37
Literatura Wstęp Plan Literatura Marco Dorigo, Thomas Stützle - Ant Colony Optimization. Bradford Company, Scituate, MA, USA, 2004 Krzysztof Socha, Joshua Knowles, and Michael Sampels - A max-min ant system for the university course timetabling problem Proceedings of the 3rd International Workshop on Ant Algorithm, ANTS 2002, Lecture Notes in Computer Science, strony 1 13. Springer-Verlag, 2002 Daniel Merkle, Martin Middendorf - An Ant Algorithm with a New Pheromone Evaluation Rule for Total Tardiness Problems. EvoWorkshops, strony 287 296, 2000 Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 3 z 37
Literatura Wstęp Plan Literatura Daniel Merkle, Martin Middendorf, Hartmut Schmeck - Ant colony optimization for resource-constrained project scheduling. IEEE Transactions on Evolutionary Computation, strony 893 900. Morgan Kaufmann, 2000 Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 4 z 37
Cel Wstęp Głównym zadaniem planowania uniwersyteckieog rozkładu zajęć (ang. University Course Timetabling Problem - UCTP) jest przypisanie wydarzenia do przedziałów czasowych oraz do pomieszczeń tak, by wszystkie twarde założenia zostały spełnione oraz by było jak najmniej niespełnionych miękkich założeń. Problem UCTP wraz z podobnymi podproblemami jest NP-trudny, próbowano go już rozwiązywać za pomocą algorytmów ewolucyjnych, symulowanego wyżarzania, tabu search. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 5 z 37
Założenia Wstęp Dany jest zbiór n zajęć (Events) E Dany jest zbiór slotów czasowych T = {t 1, t 2,..., t k } Dla 5 dni w tygodniu i 9 godzin k = 45 Zbiór pomieszczeń R w których zajęcia mogłyby się odbywać Zbiór studentów S uczęszczających na zajęcia Zbiór F cech jakie spełniają pomieszczenia R a wymagane są do prowadzenia zajęć E Każdy student uczęszcza na pewną liczbę zajęć Każda sala ma określoną pojemność studentów Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 6 z 37
Wykonalność - założenia twarde Plan jest wykonalny gdy wszystkie zajęcia są przydzielone do slotów czasowych i pomieszczeń w ten sposób, że wszystkie twarde założenia są spełnione: żaden student (grupa studencka) nie uczestniczy w tym samym czasie w większej liczbie zajęć niż 1. pomieszczenie jest na tyle pojemne by wszyscy studenci się zmieścili i spełnia wymagania stawiane przez określone zajęcia (np. wyposażenie) w danym pomieszczeniu w tym samym czasie prowadzone mogą być tylko jedne zajęcia. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 7 z 37
Założenia miękkie Wykonalny plan jest jednocześnie karany za naruszenie założeń miękkich np. Student ma zajęcia w ostatniej godzinie danego dnia Student ma więcej niż 2 zajęcia pod rząd (u nas raczej chodzi o minimalizowanie okienek) Student ma dokładnie jedne zajęcia w ciągu całego dnia. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 8 z 37
Wyższość założeń Twarde ograniczenia muszą być spełnione przez wszystkie możliwe rozwiązania, miękkie zaś nie dotyczą wykonywalności, ale wpływają na jakość rozwiązania. Założenia twarde są stawiane zawsze wyżej niż założenia miękkie. Jeżeli w pewnym rozwiązaniu wszystkie założenia miękkie są spełnione ale złamane jest choćby jedno twarde to takie rozwiązanie ma mniej punktów niż inne ze spełnionymi wszystkim założeniami twardymi ale z dużą liczbą złamanych założeń miękkich. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 9 z 37
Reprezentacja Wstęp Rozwiązaniem jest wektor T E reprezentujący pary slotów czasowych i zajęć. Przypisaniem tych par do pomieszczeń zajmu się już deterministyczny algorytm. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 10 z 37
Konstruowanie grafu Aby użyć algorytmu mrówkowego do omawianego problemu musimy umieścić go na grafie. Dwa podejścia stosowane przez mrówki: Odwiedzanie kolejnych slotów czasowych próbując dopasować do nich zajęcia. Odwiedzanie kolejnych zajęć próbując dopasować sloty czasowe. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 11 z 37
Struktura sieci Pierwsze podejście wymaga użycia wirtualnych slotów czasowych T = {t 1, t 2,..., t E } i mapowania T T e 1 t 1 t 2 t n Start e 2 Stop e n Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 12 z 37
Struktura sieci Drugie podejście jest prostsze, mrówka przechodzi przez wszystkie zajęcia e E wybierając dla nich różne sloty czasowe t T. To gwarantuje, że każde zajęcia będą dokładnie raz w jednym slocie czasowym. Ponadto można ustawić na samym początku bardziej problematyczne zajęcia np. wymagające dużej auli. e 1 e 2 e n t 1 Start t 2 Stop t k Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 13 z 37
Mrówki przechodząc przez graf tworzą częściowe rozwiązania A i : E i T dla i = 0,..., E, gdzie E i = {e 1,..., e i }. Mrówka startuje pustym częściowym rozwiązaniem A 0 = 0. Po skonstruowaniu Ai 1 tworzone jest rozwiązanie A i jako suma poprzedniego rozwiązania i dołączenia bieżącej pary slotu czasowego i zajęć A i = A i 1 {(e i, t)} Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 14 z 37
Slot czasowy t jest wybierany losowo ze zbioru T zgodnie z prawdopodobieństwem p ei,t zależnego od macierzy feromonów τ(a i 1 ) [τ min, τ max ] E T (τ min, τ max R) oraz informacji heurystycznej η(a i 1 ) danej wzorem: p ei,t(τ(a i 1 ), η(a i 1 )) = (τ (ei,t)(a i 1 )) α (η (ei,t)(a i 1 )) β θ T (τ (e i,θ)(a i 1 )) α (η (ei,θ)(a i 1 )) β Zarówno τ jak i η mają w argumencie poprzednie częściowe rozwiązanie A i 1. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 15 z 37
Reprezentacja feromonowa W najprostszym podejściu feromon reprezentuje bezwzględną pozycję, gdzie zajęcia powinny być umieszczone. Macierz feromonowa dana jest τ(a i ) = τ, i = 1,..., E. Oznacza to że feromon nie zależy od częściowego rozwiązania. A i. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 16 z 37
Macierz feromonowa W bardziej zaawansowanych rozwiązaniach można dodać dodatkową macierz µ R E E + określająca, które zajęcia mogą być wykonywane w tym samym czasie a które nie. Teraz τ (e,t) (A i ) może być wyrażona: { τmax jeżeli A 1 i (t) = 0 τ (e,t) (A i ) = min e A 1 i (t) µ(e, e ) dla pozostałych. Zapisując informacje zwrotną do µ algorytm uczy się, które zajęcia może łączyć a których nie. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 17 z 37
Informacja heurystyczna Najprostsza informacja heurystyczna będzie zależeć od liczby naruszonych warunków twardych i miękkich danych funkcją V (e,t) (A i 1 ). 1 η (e,t) (A i 1 ) = 1 + V (e,t) (A i 1 ) Wyliczanie V może być kosztowne i niepotrzebne w przypadku użycia Local Search. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 18 z 37
Wstęp Na początku inicjowana jest macierz feromonów wartością τ max. W każdej iteracji m mrówek tworzy swoje własne kompletne rozwiązanie, przypisując wszystkie zajęcia do slotów czasowych. Mrówki pobierają zajęcia w ustalonej wcześniej kolejności, sloty czasowe wybierają zaś zgodnie z opisanym wcześniej prawdopodobieństwem. Po stworzeniu wszystkich par zajęcie-slot czasowy przetwarzane są one na plan zajęć. Najlepiej dopasowany plan jest jeszcze ulepszany za pomocą algorytmu lokalnego wyszukiwania. Jeżeli nowe plan jest lepszy od poprzednich zostaje zapamiętany. Następnie na podstawie najlepszego dotychczasowego planu aktualizujemy feromon. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 19 z 37
Wstęp 1 MAX-MIN UCTP (Inicjalizacja) Wejście: Instancja problemu I 1: τ max 1/ρ 2: τ(e, t) τ max (e, t) E T 3: Oblicz c(e, e ) (e, e ) E 2 4: Oblicz d(e) 5: Posortuj E według, dając e 1 e 2... e n Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 20 z 37
Wstęp 2 MAX-MIN UCTP (Główna pętla) 6: while Nie upłynął czas do 7: for a = 1 to m do 8: A 0 0 9: for i = 1 to E do 10: Wybierz slot czasowy t według p ei,t dla zajęć e i 11: A i A i 1 (e i, t) 12: end for 13: C rozwiązanie po przekształceniu A n na plan zajęć 14: C ib najlepsze z C i w C ib 15: end for 16: C ib rozwiązanie po użyciu lokalnego wyszukiwania na C ib 17: C gb najlepsze z C ib oraz C gb 18: Zaktualizuj feromon τ używając C gb, τ min, τ max 19: end while Wyjście: Zoptymalizowany kandydat C gb rozwiązania dla I Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 21 z 37
- objaśnienia c(e, e ) = { 1 jeżeli są studenci uczestniczący w e oraz e 0 dla pozostałych. d(e) = {e E\{e} c(e, e ) 0} Kolejność zdefiniowana jest następująco: e e : d(e) > d(e ) d(e) = d(e ) l(e) < l(e ) Gdzie l jest funkcją różnowartościową l : E N i jest używana tylko do trzymania więzi. Tylko rozwiązania z najmniejszą liczbą naruszonych warunków wybierane są do poprawienia metodą Local Search. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 22 z 37
Aktualizacja feromonu Do aktualizowania feromonu raz na iterację wybierane jest tylko najlepsze globalne rozwiązanie. { (1 ρ) τ(e,t) + 1 jeżeli A τ(e, t) = gb (e) = t (1 ρ) τ (e,t) dla pozostałych. żeby wartość feromonu była pomiędzy τ min, τ max τ min jeżeli τ (e,t) < τ min τ(e, t) = τ max jeżeli τ (e,t) > τ max dla pozostałych τ (e,t) Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 23 z 37
Zalecane parametry Zalecanymi parametrami są: ρ = 0, 3 τ max = 1 ρ = 3, 33 τ min około 0,0019-0,0078 (zależne od skali problemu) α = 1 β = 0 - wyłączenie heurystyki liczba mrówek m = 10 Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 24 z 37
Problem harmonogramowania Definicja Główne problemy Rezultaty Problem harmonogramowania (ang. Scheduling Problems) to kolejny problem do rozwiązania którego użyto algorytmu ACO. Problem ten zwykle występuje w harmonogramowaniu produkcji, gdzie na m maszynach trzeba wykonać n zadań w g operacjach. Trzeba tak poukładać zadania, by wykorzystanie zasobów było najlepsze. W zależności od rodzaju problemu harmonogramowania, różne jego wersje mogą różnić się pewnymi ograniczeniami lub dodatkowymi założeniami, jak np. relacje pomiędzy poszczególnymi procesami czy uwzględnienie problemu transportu. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 25 z 37
Definicja Główne problemy Rezultaty Główne problemy harmonogramowania rozwiązywane za pomocą ACO to między innymi: problem otwarty OSP (ang. open-shop problem), problem gniazdowy JSP, (ang. job shop problem), problem permutacyjny przepływowy PFSP (ang. permutation flow shop problem), SMTTP (ang. single-machine total tardiness problem), SMTWTP (ang. single-machine total weighted tardiness problem), RCPSP (ang. resource-constrained project scheduling problem), GSP (ang. group shop problem) SMTTPSDST (ang. single-machine total tardiness problem with sequence dependent setup times). Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 26 z 37
Rezultaty Wstęp Definicja Główne problemy Rezultaty ACO stosuje się do wielu problemów harmonogramowania jednak wydajność algorytmów mrówkowych w zależności od typu problemu może się różnić. ACO osiąga bardzo dobre wyniki w zastosowaniu do rozwiązania problemów SMTWTP, OSP czy RCPSP. Jednak przy PFSP czy JSP rezultaty są dalekie od tych osiąganych za pomocą innych algorytmów. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 27 z 37
Ogólnie Wstęp Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Problem podzbioru (ang. Subset Problem) polega na odpowiednim wybraniu elementów z podanego zbioru według pewnych zasad. Wybór musi być dokonany tak, by był optymalny. Zastosowanie ACO do problemu podzbioru charakteryzują dwie cechy. kolejność podzbioru nie jest istotna, w ten sposób ślady feromonowe związane są z elementami, a nie połączeniami pomiędzy nimi. liczba elementów w rozwiązaniu budowanym przez różne mrówki może być różna. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 28 z 37
Pokrycie zbioru Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Pokrycie zbioru (ang. set covering), gdzie mając na wejściu wiele zbiorów, które mają elementy wspólne, trzeba wybrać minimalny zestaw tych zbiorów by zawierały wszystkie elementy, jakie znajdywały się w zbiorach danych na wejściu. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 29 z 37
Problem - WCGTPP Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Problem podziału drzewa w grafie ograniczonym wagowo (ang. Weight Constrained Graph Tree Partition Problem - WCGTPP), gdzie mamy nieskierowany graf G(N, A) składający się z n węzłów i l krawędzi. Każdej krawędzi (i, j) jest przypisany koszt c ij a każdemu węzłowi i jest przypisana waga w i. Celem jest znalezienie minimalnego lasu rozpinającego F złożonego z p drzew tak, by waga każdego drzewa mieściła się w wyznaczonym przedziale [W, W + ]. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 30 z 37
Arc-Weighted l-cardinality Tree Problem Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Arc-Weighted l-cardinality Tree Problem. Jest uogólnieniem problemu wyznaczenia minimalnego drzewa rozpinającego, który polega na znalezieniu poddrzewa z dokładnie l krawędziami w grafie G = (N, A) z wagami krawędzi (lub węzłów) takimi, by suma wag była minimalna. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 31 z 37
Problem wielo-plecakowy Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Problem wielo-plecakowy (ang. Multiple Knapsack Problem - MKP). Mamy kilka kontenerów (plecaków) o ograniczonych zasobach (np. pojemności). Dany jest zestaw przedmiotów konsumujących pewne zasoby (np. pojemność) oraz mających pewną wartość (np. waga, cena). Należy tak dopasować przedmioty do kontenerów, by wartość w nich była jak najbardziej optymalna i jednocześnie nie przekroczyć granicznej objętości. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 32 z 37
Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Problem największego zbioru niezależnego Problem największego zbioru niezależnego (ang. Maximum Independent Set Problem). Polega na znalezieniu maksymalnego podzbioru wierzchołków danego grafu takich, pomiędzy którymi nie istnieje żadna krawędź łącząca je bezpośrednio. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 33 z 37
Problem maksymalnej kliki Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Problem maksymalnej kliki (ang. Maximum Clique Problem). Jest to problem wyznaczenia w grafie maksymalnego zbioru wierzchołków, w którym każda para jest połączona krawędzią. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 34 z 37
Inne Wstęp Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Z innych problemów NP-trudnych do rozwiązania których użyto algorytmów mrówkowych można wymienić problem najkrótszego wspólnego podciągu (ang. Shortest Common Supersequence Problem), problem pakowania (ang. Bin Packing Problem), przewidywanie ułożenia białek bazując na sekwencji aminokwasów (ang. Protein Folding), w problemach uczenia się maszyn. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 35 z 37
Pytania Wstęp Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania? Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 36 z 37
koniec Wstęp Ogólnie y mrówkowe w problemach podzbioru Inne zastosowania Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - y Mrówkowe cz. 4 37 z 37