Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4
Transkrypt
Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4
Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Plan Literatura Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 Paweł Paduch Politechnika Świętokrzyska 12 czerwca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 1 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Plan Literatura Plan wykładu 1 Wstęp Plan Literatura 2 Planowanie uniwersyteckiego rozkładu zajęć Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 3 Problemy harmonogramowania Definicja Główne problemy Rezultaty 4 Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 2 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Plan Literatura 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 - Algorytmy Mrówkowe cz. 4 3 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Plan Literatura 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 - Algorytmy Mrówkowe cz. 4 4 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Cel 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 - Algorytmy Mrówkowe cz. 4 5 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Założenia Dany jest zbiór n zajęć (Events) E Dany jest zbiór slotów czasowych T = {t1 , t2 , ..., tk } 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 - Algorytmy Mrówkowe cz. 4 6 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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 - Algorytmy Mrówkowe cz. 4 7 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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 - Algorytmy Mrówkowe cz. 4 8 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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 - Algorytmy Mrówkowe cz. 4 9 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Reprezentacja 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 - Algorytmy Mrówkowe cz. 4 10 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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 - Algorytmy Mrówkowe cz. 4 11 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Struktura sieci Pierwsze podejście wymaga użycia wirtualnych slotów czasowych 0 } i mapowania T 0 → T T 0 = {t10 , t20 , ..., t|E | t10 t20 tn0 e1 e2 Stop Start en Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 12 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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. e1 e2 en t1 t2 Stop Start tk Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 13 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Konstruowanie rozwiązania Mrówki przechodząc przez graf tworzą częściowe rozwiązania Ai : Ei → T dla i = 0, ..., |E |, gdzie Ei = {e1 , ..., ei }. Mrówka startuje pustym częściowym rozwiązaniem A0 = 0. Po skonstruowaniu Ai − 1 tworzone jest rozwiązanie Ai jako suma poprzedniego rozwiązania i dołączenia bieżącej pary slotu czasowego i zajęć Ai = Ai−1 ∪ {(ei , t)} Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 14 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Konstruowanie rozwiązania Slot czasowy t jest wybierany losowo ze zbioru T zgodnie z prawdopodobieństwem pei ,t zależnego od macierzy feromonów τ (Ai−1 ) ∈ [τmin , τmax ]E ×T (τmin , τmax ∈ R) oraz informacji heurystycznej η(Ai−1 ) danej wzorem: (τ(ei ,t) (Ai−1 ))α · (η(ei ,t) (Ai−1 ))β α β θ∈T (τ(ei ,θ) (Ai−1 )) · (η(ei ,θ) (Ai−1 )) pei ,t (τ (Ai−1 ), η(Ai−1 )) = P Zarówno τ jak i η mają w argumencie poprzednie częściowe rozwiązanie Ai−1 . Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 15 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Reprezentacja feromonowa W najprostszym podejściu feromon reprezentuje bezwzględną pozycję, gdzie zajęcia powinny być umieszczone. Macierz feromonowa dana jest τ (Ai ) = τ , i = 1, ..., |E |. Oznacza to że feromon nie zależy od częściowego rozwiązania. Ai . Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 16 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Macierz feromonowa W bardziej zaawansowanych rozwiązaniach można dodać dodatkową macierz µ ∈ RE+×E określająca, które zajęcia mogą być wykonywane w tym samym czasie a które nie. Teraz τ(e,t) (Ai ) może być wyrażona: ( τ(e,t) (Ai ) = τmax jeżeli A−1 i (t) = 0 0 mine 0 ∈A−1 (t) µ(e, e ) dla pozostałych. i Zapisując informacje zwrotną do µ algorytm uczy się, które zajęcia może łączyć a których nie. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 17 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Informacja heurystyczna Najprostsza informacja heurystyczna będzie zależeć od liczby naruszonych warunków twardych i miękkich danych funkcją V(e,t) (Ai−1 ). 1 η(e,t) (Ai−1 ) = 1 + V(e,t) (Ai−1 ) Wyliczanie V może być kosztowne i niepotrzebne w przypadku użycia „Local Search”. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 18 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Algorytm 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 - Algorytmy Mrówkowe cz. 4 19 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Algorytm Algorytm 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 0 )∀(e, e 0 ) ∈ E 2 4: Oblicz d(e) 5: Posortuj E według ≺, dając e1 ≺ e2 ≺ ... ≺ en Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 20 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Algorytm Algorytm 2 MAX-MIN UCTP (Główna pętla) 6: while Nie upłynął czas do 7: for a = 1 to m do 8: A0 ← 0 9: for i = 1 to |E | do 10: Wybierz slot czasowy t według pei ,t dla zajęć ei 11: Ai ← Ai−1 ∪ (ei , t) 12: end for 13: C ← rozwiązanie po przekształceniu An na plan zajęć 14: Cib ← najlepsze z C i w Cib 15: end for 16: Cib ← rozwiązanie po użyciu lokalnego wyszukiwania na Cib 17: Cgb ← najlepsze z Cib oraz Cgb 18: Zaktualizuj feromon τ używając Cgb , τmin , τmax 19: end while Wyjście: Zoptymalizowany kandydat Cgb rozwiązania dla I Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 21 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Algorytm - objaśnienia ( 0 c(e, e ) = 1 jeżeli są studenci uczestniczący w e oraz e 0 0 dla pozostałych. d(e) = {e 0 ∈ E \{e}|c(e, e 0 ) 6= 0} Kolejność ≺ zdefiniowana jest następująco: e ≺ e 0 :⇔ d(e) > d(e 0 ) ∨ d(e) = d(e 0 ) ∧ l(e) < l(e 0 ) 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 - Algorytmy Mrówkowe cz. 4 22 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm Aktualizacja feromonu Do aktualizowania feromonu raz na iterację wybierane jest tylko najlepsze globalne rozwiązanie. ( τ (e, t) = (1 − ρ) · τ(e,t) + 1 jeżeli Agb (e) = t (1 − ρ) · τ(e,t) dla pozostałych. żeby wartość feromonu była pomiędzy τmin , τmax τ (e, t) = τmin jeżeli τ(e,t) < τmin τmax jeżeli τ(e,t) > τmax τ(e,t) dla pozostałych Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 23 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Główne założenia Opis rozwiązania Konstruowanie rozwiązania Algorytm 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 - Algorytmy Mrówkowe cz. 4 24 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Definicja Główne problemy Rezultaty Problem harmonogramowania 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 - Algorytmy Mrówkowe cz. 4 25 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Definicja Główne problemy Rezultaty Problemy harmonogramowania 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 - Algorytmy Mrówkowe cz. 4 26 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Definicja Główne problemy Rezultaty 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 - Algorytmy Mrówkowe cz. 4 27 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Ogólnie 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 - Algorytmy Mrówkowe cz. 4 28 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Pokrycie zbioru 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 - Algorytmy Mrówkowe cz. 4 29 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Problem - WCGTPP 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 cij a każdemu węzłowi i jest przypisana waga wi . 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 - Algorytmy Mrówkowe cz. 4 30 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Arc-Weighted l-Cardinality Tree Problem 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 - Algorytmy Mrówkowe cz. 4 31 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Problem wielo-plecakowy 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 - Algorytmy Mrówkowe cz. 4 32 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy 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 - Algorytmy Mrówkowe cz. 4 33 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Problem maksymalnej kliki 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 - Algorytmy Mrówkowe cz. 4 34 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Inne 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 - Algorytmy Mrówkowe cz. 4 35 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania Pytania ? Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 36 z 37 Wstęp Planowanie uniwersyteckiego rozkładu zajęć Problemy harmonogramowania Problemy podzbioru Ogólnie Algorytmy mrówkowe w problemach podzbioru Inne zastosowania koniec Dziękuję Państwu za uwagę. Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4 37 z 37