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