Metody przeszukiwania lokalnego
|
|
- Tadeusz Pietrzyk
- 6 lat temu
- Przeglądów:
Transkrypt
1 Metody przeszukiwania lokalnego Literatura [1] F. Glover, T. Laguna, Tabu search, Kluwer Academic Publishers, [2] R. Ahuja, O. Ergun, J. Orlin, A. Punnen, A survey of very large-scale neighborhood search techniques, Discrete Applied Mathematics 123 (2002) [3] S. Kirkpatrick, C.D. Gelatt Jr., M.P. Vecchi, Optimization by Simulated Annealing, Science 220 (1983) [4] R. Wieczorkowski, Algorytmy stochastyczne w optymalizacji dyskretnej przy zaburzonych wartościach funkcji, Matematyka Stosowana 38 (1995) Znaczna część wykładu została przygotowana na podstawie ksiażki [1]. Metody optymalizacji Paweł Zieliński p. 1/55
2 Metody przeszukiwania lokalnego Algorytm zachłanny Algorytm symulowanego wyżarzania Algorytm Tabu Search Będzie rozpatrywany następujacy problem optymalizacyjny: min x X f(x), Problem polega na znalezieniu takiego dopuszczalnego rozwiazania x X, dla którego wartość funkcji celu f(x) jest najmniejsza. Metody optymalizacji Paweł Zieliński p. 2/55
3 Metody przeszukiwania lokalnego Problem (mink Tree) Dana jest liczba naturalna k > 2 i graf nieskierowany G = (V,E) taki, że V > k. Każdej krawędzi e grafu G przypisana jest dodatnia waga w e. Należy znaleźć w G drzewo składajace się z k łuków dla którego suma wag na łukach jest najmniejsza. W problemie tym: X = {T = (W,Z) Z = k,w V,Z E,T jest drzewem}, f(t) = e Zw e. Metody optymalizacji Paweł Zieliński p. 3/55
4 Metody przeszukiwania lokalnego Podstawowym pojęciem w konstrukcji metod przeszukiwania lokalnego jest pojęcie ruchu. Ruchem nazywamy procedurę przejścia z rozwiazania dopuszczalnego x X do innego rozwiazania dopuszczalnego y X. Problem (mink Tree) Operacja ruchu polega na usunięciu wybranej krawędzi z bieżacego drzewa T i dodaniu innej krawędzi należacej do G tak, że otrzymany graf jest również drzewem. Metody optymalizacji Paweł Zieliński p. 4/55
5 Metody przeszukiwania lokalnego Na poniższym przykładzie wykonujemy ruch usuwajac z drzewa krawędź (5,4) i dodajac krawędź (2,3) Metody optymalizacji Paweł Zieliński p. 5/55
6 Metody przeszukiwania lokalnego Atrybutami ruchu nazywamy parametry, które pozwalaja jednoznacznie określić nowe rozwiazanie otrzymane z rozwiazania x w wyniku wykonania ruchu. Problem (mink Tree) Atrybutami każdego ruchu jest para (add(i, j), drop(k, l)) określajaca odpowiednio dodana i usunięta krawędź. W poprzednim przykładzie atrybutem ruchu jest para ((5, 4),(2, 3)). Sasiedztwem danego rozwiazania dopuszczalnego x X nazywamy zbiór N(x) wszystkich rozwiazań dopuszczalnych y X, które można otrzymać z x poprzez wykonanie ruchu. Metody optymalizacji Paweł Zieliński p. 6/55
7 Algorytm zachłanny Korzystajac z określenia sasiedztwa zdefiniujemy algorytm zachłanny, który jest najprostszym algorytmem przeszukiwania lokalnego: x 3 x 1 x 2 x 0 Idea algorytmu zachłannego polega na pełnym przegladzie sasiedztwa bieżacego rozwiazania x 0. Metody optymalizacji Paweł Zieliński p. 7/55
8 Algorytm zachłanny Algorytm zachłanny kończy pracę jeżeli w sasiedztwie bieżacego rozwiazania nie istnieja rozwiazania o mniejszej wartości funkcji celu, czyli: x N(x0 )f(x) f(x 0 ). Algorytm 1 (Algorytm zachłanny). 1: Wygeneruj losowo lub heurystycznie punkt startowyx 0 X 2: locallyoptimal f alse 3: repeat 4: Znajdźx N(x 0 ) dla któregof(x) jest najmniejsze 5: if f(x) < f(x 0 ) then 6: x 0 x 7: else 8: locallyoptimal true 9: end if 10: until locallyoptimal = true Metody optymalizacji Paweł Zieliński p. 8/55
9 Wady algorytm zachłannego Algorytm daje rozwiazanie, które może być lokalnym minimum znacznie gorszym niż rzeczywiste rozwiazanie optymalne. Ponadto nie ma żadnej możliwości opuszczenia lokalnego minimum. y x 1 x 0 Algorytm startuje z punktu x 0 i znajduje x 1 N(x 0 ) takie, że f(x 1 ) < f(x 0 ). Jeżeli dla każdego x N(x 1 ) f(x) f(x 1 ), wówczas x 1 jest więc minimum lokalnym. Algorytm kończy pracę w punkcie x 1 mimo, że w pobliżu może istnieć lepsze rozwiazanie y. Metody optymalizacji Paweł Zieliński p. 9/55
10 Wady algorytm zachłannego Algorytm przeglada wszystkie rozwiazania należace do sasiedztwa bieżacego rozwiazania, co może to być kosztowne. Sasiedztwo każdego rozwiazania jest z góry ustalone i nie jest modyfikowane podczas działania algorytmu. Algorytm zazwyczaj przeszukuje bardzo niewielka część przestrzeni rozwiazań. Algorytm nie korzysta z informacji zebranej w poprzednich iteracjach (np. może okazać się, że ruchy o pewnych atrybutach daja średnio lepsze rozwiazania od pozostałych). Metody optymalizacji Paweł Zieliński p. 10/55
11 Algorytm Symulowanego Wyżarzania Algorytm Symulowanego wyżarzania jest modyfikacja algorytmu zachłannego polegajac a na wprowadzeniu pewnych elementów losowych. Posiada on następujace cechy: Rezygnuje się z pełnego przegladania sasiedztwa bieżacego rozwiazania x 0. Zamiast tego kolejne rozwiazanie x jest wybierane z N(x 0 ) w sposób losowy. Metody optymalizacji Paweł Zieliński p. 11/55
12 Algorytm Symulowanego Wyżarzania Ruch z x 0 do x jest wykonywany z prawdopodobieństwem określonym za pomoca następujacej formuły: P(x 0,x) = min{1,exp( f(x) f(x 0 ) T i )}, gdzie T i określa temperaturę w i-tej iteracji algorytmu. Im wyższa jest temperatura tym większe jest prawdopodobieństwo przejścia z x 0 do x. Zadana jest pewna poczatkowa temperatura T max, która jest następnie obniżana w trakcie kolejnych iteracji. Algorytm kończy pracę jeżeli temperatura spadnie poniżej zadanej wielkości T min lub przekroczy zadana liczbę iteracji. Metody optymalizacji Paweł Zieliński p. 12/55
13 Porównanie Algorytm 2 (Algorytm symulowanego wyżarzania). Wygeneruj punkt startowyx 0 X T T max x opt x 0 repeat Wybierz w sposób losowyx N(x 0 ) if random[0,1) < P(x 0,x) then x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if end if T g(t) {Obniż temperaturę} until warunek końca=true Algorytm 3 (Algorytm zachłanny). Wygeneruj punkt startowyx 0 X x opt x 0 locallyoptimal f alse repeat Znajdź x N(x 0 ) dla którego f(x) jest najmniejsze if f(x) < f(x 0 ) then else x 0 x x opt x 0 locallyoptimal true end if until locallyoptimal = true 1. Inny sposób wyboru nowego rozwiazania. 2. Inna reguła akceptacji nowego rozwiazania. 3. Inny warunek zakończenia. Metody optymalizacji Paweł Zieliński p. 13/55
14 Symulowane wyżarzanie szczegóły 1. Ustalenie temperatury poczatkowej T max, np.: (a) T max = C, gdzie C jest stała, (b) T max = 10max i i, gdzie i = f(x i ) f(x i+1 ), i = 1,...,parametr. 2. Obniżanie temperatury g(t), np.: (a) g(t) = αt, gdzie α < 1 (α = 0.95), (b) g(t) = T 1+βT, gdzie β = T max T min maxitt max T min, T min = 10 4 T max i maxit maksymalna liczba iteracji (maxit = 10 5 ), (c) inne funkcje obniżania temperatury g(t) można znaleźć w (Wieczorkowski 1995). 3. Warunek końca np.: (a) T < T min, (b) przekroczenie maksymalnej liczby iteracji maxit. Metody optymalizacji Paweł Zieliński p. 14/55
15 Algorytm Tabu Search Ideę metaheurystyki Tabu Search oddaje następujacy cytat z ksiażki jej twórcy: Metaheurystyka Tabu Search może być określona jako metoda dynamicznej zmiany sasiedztwa danego rozwiazania. Oznacza to, że zbiór N(x) nie jest z góry ustalony dla każdego x lecz może zmieniać się w zależności od informacji zebranych w poprzednich etapach przeszukiwania. Metody optymalizacji Paweł Zieliński p. 15/55
16 Algorytm Tabu Search Metoda Tabu Search posiada następujace charakterystyczne elementy: Funkcję oceny wartości ruchu, Listę ruchów zakazanych (Tabu List), Kryterium aspiracji, Strategię wyboru rozwiazań, Strategię dywersyfikacji. Tabu Search jest metoda bardzo ogólna a szczegóły jej implementacji różnia się znacznie w zależności od problemu, do którego została zastosowana. Metody optymalizacji Paweł Zieliński p. 16/55
17 Funkcja oceny wartości ruchu Dla każdych rozwiazań dopuszczalnych x i y N(x) definiujemy rzeczywista funkcję MVal(x,y) określajac a wartość ruchu z rozwiazania x do rozwiazania y. Ruch jest tym lepszy im większa jest dla niego wartość tej funkcji. Algorytm 4 (Algorytm TS1). Wygeneruj losowo lub heurystycznie punkt startowyx 0 X x opt x 0 repeat Znajdźx N(x 0 ), dla którego wartośćmval(x 0,x) jest największa x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if until warunek końca=true Najprostsza i najczęściej stosowana funkcja oceny wartości ruchu jest funkcja: MVal(x,y) = f(x) f(y). Metody optymalizacji Paweł Zieliński p. 17/55
18 Funkcja oceny wartości ruchu Problem (mink Tree) Załóżmy, że TS1 wykonał K iteracji i uzyskano K bieżacych rozwiazań x 0. Dla każdej krawędzi (i,j) E w grafie G obliczamy: 1. R(i,j) ile razy krawędź (i,j) należała do bieżacego rozwiazania x 0, 2. SR(i, j) suma wartości funkcji celu wszystkich rozwiazań zawierajacych krawędź (i, j), 3. MR(i,j) = SR(i,j)/R(i,j) średnia wartość funkcji dla rozwiazań zawierajacych krawędź (i,j) (MR(i,j) = 0 jeżeli R(i,j) = 0). Załóżmy, że oceniamy ruch z x do y posiadajacy atrybuty add(i, j), drop(k, l). Funkcja oceny wartości ruchu w K-tej iteracji może mieć postać: MVal(x,y) = α 1 (f(x) f(y))+α 2 R(i,j)/K+α 3 R(k,l)/K+α 4 MR(i,j)+α 5 MR(k,l), gdzie α i sa zadanymi współczynnikami (również ujemnymi). Metody optymalizacji Paweł Zieliński p. 18/55
19 Wady i zalety algorytmu TS1 Zalety Możliwość opuszczenia minimum lokalnego. Wykorzystanie informacji zgromadzonej w poprzednich iteracjach do sterowania przeszukiwaniem. Wady Trudność w konstrukcji funkcji oceny ruchu (brak ogólnych zaleceń) i oszacowaniu jej parametrów. Metody optymalizacji Paweł Zieliński p. 19/55
20 Wady i zalety algorytmu TS1 Możliwość wpadnięcia w cykl (algorytm wpada w cykl jeżeli jakieś rozwiazanie zostanie po raz drugi przyjęte jako rozwiazanie bieżace. x 3 x 4 x 2 x 0 x 1 Algorytm TS1 może wpaść w cykl. Ma to miejsce, gdy pewne rozwiazanie stanie się po raz drugi bieżacym rozwia- zaniem. W takim przypadku algorytm może w nieskończoność przegladać te same rozwiazania. Prawdopodobieństwo wpadnięcia w cykl można zminimalizować konstruujac w odpowiedni sposób funkcję MVal oraz stosujac listę ruchów zakazanych. Metody optymalizacji Paweł Zieliński p. 20/55
21 Lista ruchów zakazanych (Tabu List) TABU = {(atrybut 1,kadencja 1 ), (atrybut 2,kadencja 2 ),...,(atrybut l,kadencja l )) Ruch z rozwiazania x do rozwiazania y N(x) jest zakazany jeżeli pewien jego atrybut znajduje się na liście TABU. Parametr kadencja i określa liczbę iteracji przez która element (atrybut i,kadencja i ) znajduje się na liście TABU. Zdefiniujmy dla każdego x X zmodyfikowane sasiedztwo N (x): N (x) = {y y N(x) i ruch z x do y nie jest zakazany}. Metody optymalizacji Paweł Zieliński p. 21/55
22 Lista ruchów zakazanych (Tabu List) Algorytm 5 (Algorytm TS2). Wygeneruj losowo lub heurystycznie punkt startowyx 0 X x opt x 0 TABU repeat Znajdźx N (x 0 ), dla którego wartośćmval(x 0,x) jest największa x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if Dodaj nowe elementy do listytabu for all(atrybut i,kadencja i ) TABU do kadencja i kadencja i 1 ifkadencja i = 0 then usuń element(atrybut i,kadencja i ) ztabu end if end for until warunek zakończenia = true Metody optymalizacji Paweł Zieliński p. 22/55
23 Lista ruchów zakazanych (Tabu List) Problem (mink Tree) Podamy sposób konstruowania listy T ABU (krok (10) algorytmu TS2) dla problemu min k Tree. Załóżmy, że w kroku (6) algorytmu został wykonany ruch z rozwiazania x 0 do rozwiazania x o atrybutach (add(i,j),drop(k,l)). Krok (10) może wygladać następujaco: TABU TABU {(drop(i,j),4),(add(k,l),2)} Do listy TABU dodajemy dwa elementy (drop(i,j),4) i (add(k,l),2). Oznacza to, że przez cztery kolejne iteracje zakazujemy ruchów w których usuwana jest krawędź (i,j), a przez dwie kolejne iteracje zakazujemy ruchów, w których dodawana jest krawędź (k, l). Metody optymalizacji Paweł Zieliński p. 23/55
24 Wady i zalety algorytmu TS2 Zalety Zmniejsza ryzyko wpadnięcia w cykl (tym mniejsze im dłuższe kadencje). Umożliwia systematyczne badanie przestrzeni rozwiazań odległej od punktu poczatkowego. Wady Istnieje możliwość, że bardzo dobre ruchy zostana zakazane. Trudność w wyznaczeniu odpowiednich kadencji. Metody optymalizacji Paweł Zieliński p. 24/55
25 Problem wyznaczania kadencji Można podać dwa ogólne zalecenia dotyczace długości kadencji, które zostały w pewnym stopniu potwierdzone empirycznie: 1. im większy rozmiar problemu tym kadencje powinny być dłuższe, 2. im bardziej restrykcyjna jest lista TABU (tzn. im mniejszy jest średnio współczynnik N (x) / N(x) ) tym kadencje powinny być krótsze. Metody optymalizacji Paweł Zieliński p. 25/55
26 Długość kadencji, a zachowanie algorytmu krótka KADENCJA długa Większa dokładność przeszukiwania (Intensyfikacja). Duże ryzyko wpadnięcia w cykl w pobliżu lokalnego minimum. Większy zakres przeszukiwania (Dywersyfikacja). Pogorszenie jakości uzyskanych rozwiazań spowodowanych brakiem dokładniejszego przeszukiwania sasiedz- twa dobrych rozwiazań. Metody optymalizacji Paweł Zieliński p. 26/55
27 Wybrane sposoby ustalania kadencji 1. Kadencja stała dla każdego elementu listy TABU. 2. Kadencja stała dla każdego typu elementu listy T ABU (na przykład w problemie min k Tree dla elementów postaci (add(i, j), kadencja) kadencja może być inna niż dla elementów postaci (drop(k, l), kadencja)). 3. Kadencja jest ustalana dla każdego elementu listy TABU w sposób losowy z pewnego zakresu [t min,t max ]. 4. Wartości kadencji wybierane sa w sposób cykliczny z zadanego ciagu wartości, (na przykład dla zadanego ciagu (10,8,5,6,4,1) pierwsza kadencję ustalamy na 10, następna na 8 itd. Po ustaleniu kadencji na 1 kolejna kadencja ponownie jest ustalana na 10). Metoda wyboru kadencji oraz konkretne wartości przyjmowane przez kadencje powinny być ustalane dla każdego problemu w sposób eksperymentalny. Metody optymalizacji Paweł Zieliński p. 27/55
28 Kryterium aspiracji W wyniku zastosowania listy TABU moga zostać zakazane bardzo dobre ruchy. Kryterium aspiracji jest pewnym warunkiem narzuconym na każde rozwiazanie y N(x), które pozwala na wykonanie ruchu z x do y nawet jeżeli ruch ten jest zakazany. Kryterium aspiracji anuluje więc zakaz ruchu wynikajacy z listy TABU. Dla każdych rozwiazań x,y N(x) definiuje się funkcję Aspiration(x, y) przyjmujac a wartości TRUE lub FALSE, przy czym jeżeli Aspiration(x,y) = TRUE, to możliwe jest wykonanie ruchu z rozwiazania x do rozwiazania y N(x) nawet jeżeli ruch ten jest zakazany. Metody optymalizacji Paweł Zieliński p. 28/55
29 Kryterium aspiracji Stosuje się następujace kryteria aspiracji: 1. Aspiration(x,y) = TRUE jeżeli f(y) < f(x opt ) ruch prowadzi do rozwiazania y lepszego niż najlepsze do tej pory znalezione, 2. Aspiration(x,y) = TRUE jeżeli MVal(x,y) α wartość ruchu do rozwiazania y jest większa od pewnego parametru α, 3. inne, wynikajace ze struktury problemu i dotychczasowego przebiegu algorytmu. Zdefiniujmy dla każdego x X zmodyfikowane sasiedztwo N (x): N (x) = {y y N(x) i (ruch z x do y nie jest zakazany lub Aspiration(x,y) = TRUE)}. Metody optymalizacji Paweł Zieliński p. 29/55
30 Kryterium aspiracji Algorytm 6 (Algorytm TS3 (z kryterium aspiracji)). Wygeneruj losowo lub heurystycznie punkt startowyx 0 X x opt x 0 TABU repeat Znajdźx N (x 0 ), dla którego wartośćmval(x 0,x) jest największa x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if Dodaj nowe elementy do listytabu for all(atrybut i,kadencja i ) TABU do kadencja i kadencja i 1 ifkadencja i = 0 then usuń element(atrybut i,kadencja i ) ztabu end if end for until warunek zakończenia = true Metody optymalizacji Paweł Zieliński p. 30/55
31 Wady algorytmu TS3 W kroku (5) badane sa wszystkie rozwiazania należace do N (x 0 ), co może być bardzo czasochłonne. Zbyt mała dywersyfikacja. Metody optymalizacji Paweł Zieliński p. 31/55
32 Strategia wyboru rozwiazań Strategia wyboru rozwiazania jest pewna procedura, która pozwala ograniczyć liczbę przegladanych rozwiazań należacych do zbioru N (x). Jedna z najprostszych i najbardziej popularnych jest strategia aspiracji plus. Strategia aspiracji plus (Aspiration plus) 1. Przegladamy zawsze nie mniej niż minm i nie więcej niż maxm rozwiazań należacych do N (x). 2. Jeżeli znajdziemy y N (x) taki, że MVal(x,y) Aspiration, to przegladamy jeszcze tylko następne Plus rozwiazań pamiętajac o założeniu w punkcie 1 (czyli nie mniej niż minm i nie więcej niż maxm). 3. Przechodzimy do tego spośród przegladniętych rozwiazań y N (x) dla którego wartość MVal(x,y) jest największa. Metody optymalizacji Paweł Zieliński p. 32/55
33 Strategia aspiracji plus Mval y 0 Plus Aspiration First minm maxm Liczba przegladanych ruchów Po przegladnięciu F irst maxm ruchów zostało znalezione rozwiazanie dla którego MVal(x,y) Aspiration. Przegladamy więc jeszcze min{max{first+plus,minm},maxm} rozwiazań. Najlepszym znalezionym rozwiazaniem jest y 0. Metody optymalizacji Paweł Zieliński p. 33/55
34 Strategia dywersyfikacji Tabu Search jest metoda przeszukiwania lokalnego, w której przegladane sa kolejne rozwiazania należace do sasiedztwa bieżacego rozwiazania. Może się więc zdarzyć, że pewne obszary przestrzeni rozwiazań X nigdy nie zostana sprawdzone Strategia dywersyfikacji jest procedura, która pozwala na przegladanie różnych obszarów przestrzeni rozwiazań. X X x n x n x 0 x 0 Brak dywersyfikacji Przeszukiwanie z dywersyfikacja Metody optymalizacji Paweł Zieliński p. 34/55
35 Strategia dywersyfikacji Metoda zdarzeń krytycznych (Critical Events Memory), składajaca się z dwóch elementów: 1. Funkcji CriticalEvent() przyjmujacej wartości TRUE lub FALSE. Funkcja przyjmuje wartość TRUE jeżeli zaszły określone warunki wymagajace wygenerowania nowego rozwiazania startowego. Na przykład: przez K kolejnych iteracji nie zostało znalezione lepsze rozwiazanie, algorytm wykonał K iteracji od wygenerowania nowego rozwiazania startowego, przez K kolejnych iteracji były przegladane rozwiazania bliskie rozwiazaniu startowemu (pojęcie bliskie zależy od konkretnego problemu). Metody optymalizacji Paweł Zieliński p. 35/55
36 Metoda zdarzeń krytycznych 2. Funkcji Restart(), która generuje nowe rozwiazanie poczatkowe. Algorytm ponownie rozpoczyna działanie od wygenerowanego rozwiazania. Funkcja Restart() może wykorzystywać informacje zgromadzone podczas dotychczasowego przebiegu algorytmu. Metody optymalizacji Paweł Zieliński p. 36/55
37 Strategia dywersyfikacji Problem (mink Tree) Przykład konstrukcji funkcji Restart() w problemie min k Tree dla k = 4. Dany jest następujacy graf G = (V,E): Rozwizaniex i Ocena rozwiazania f(x i ) x 0 { (1,2), (1,4), (4,7), (6,7) } 40 x 1 { (1,2), (1,4), (4,6), (6,7) } 47 x 2 { (1,2), (1,4), (4,6), (6,8) } 57 x 3 { (1,4), (4,6), (6,8), (8,9) } 63 x 4 { (4,7), (4,6), (6,8), (8,9) } 46 x 5 { (4,7), (6,7), (6,8), (8,9) } 37 x 6 { (4,7), (6,7), (6,9), (8,9) } 37 x 7 { (6,7), (6,9), (8,9), (8,10)} 38 Funkcja Restart() uruchamiana jest po 7 iteracjach przedstawionych w tabeli. Metody optymalizacji Paweł Zieliński p. 37/55
38 Strategia dywersyfikacji 1. Wybieramy lokalne minima z poprzednich iteracji, czyli rozwiazania: x 0,x 5,x 6. Rozwiazania te składaja się z następujacych łuków: L = {(1,2),(1,4),(4,7),(6,7),(6,8),(8,9)}. 2. Przyjmujemy y Dokładamy do y 0 kolejne krawędzie należace do E\L o najmniejszej wadze tak aby w kolejnych krokach otrzymać drzewo składajace się z odpowiednio 1, 2, 3 i 4 krawędzi: y 0 {(3,5)} y 0 {(3,5),(5,9)} y 0 {(3,5),(5,9),(9,12)} y 0 {(3,5),(5,9),(9,12),(11,12)} 4. Przyjmujemy y 0 jako nowe rozwiazanie ( odległe od rozwiazań poprzednio badanych). Uwaga: jeżeli nie można wybrać odpowiedniej krawędzi z E \L, to należy wybrać losowo krawędź z L. Metody optymalizacji Paweł Zieliński p. 38/55
39 Pełny schemat algorytmu Tabu Search Wygeneruj losowo lub heurystycznie punkt startowy x 0 X x opt x 0 TABU repeat x 0 AspirationPlus(x 0 ) {Lub inna strategia wyboru rozwiazania} if f(x 0 ) < f(x opt ) then x opt x 0 end if Dodaj nowe elementy do listy T ABU for all (atrybut i,kadencja i ) TABU do kadencja i kadencja i 1 if kadencja i = 0 then usuń element (atrybut i,kadencja i ) z TABU end if end for if CriticalEvent() = true then x 0 Restart() {Dywersyfikacja} if f(x 0 ) < f(x opt ) then x opt x 0 end if end if until warunek zakończenia = true Metody optymalizacji Paweł Zieliński p. 39/55
40 Uwagi końcowe Warunkiem zakończenia w metodzie Tabu Search jest najczęściej przekroczenie zadanej liczby iteracji. Zamiast AspirationP lus można wykorzystać inna strategię wyboru rozwiazań. Należy jednak pamiętać, że musi ona brać pod uwagę listę TABU i kryterium aspiracji. Jeżeli rozmiar zmodyfikowanego sasiedztwa N (x) nie jest duży, to należy dokonać jego pełnego przegladu. Powyższy schemat przedstawia jedynie bardzo ogólna ideę metody Tabu Search. Komputerowe implementacje tej metody różnia się znacznie w zależności od rodzaju problemu. Metody optymalizacji Paweł Zieliński p. 40/55
41 Uwagi końcowe Metoda Tabu Search zaimplementowana w postaci algorytmu dla pewnego problemu wymaga podania wielu parametrów. Optymalne wartości tych parametrów w większości przypadków musza być ustalone w sposób eksperymentalny. Konstruujac algorytm oparty na idei Tabu Search dla konkretnego problemu należy wykazać się własna inwencja i pomysłowościa. Nie trzeba koniecznie ograniczać się do powyższego schematu. Należy dokładnie przeanalizować strukturę problemu i odpowiednio wykorzystać wszystkie wykryte własności. Szczególnie ważne jest odpowiednie zdefiniowanie ruchu i funkcji oceny wartości ruchu. Można łaczyć metodę Tabu Search z innymi heurystykami. Metody optymalizacji Paweł Zieliński p. 41/55
42 Problem (min k Tree) G = (V,E) jest grafem pełnym (tzn. między każda para wierzchołków istnieje krawędź), V = 200 wagi krawędzi w ij, (i,j) E, sa liczbami losowymi z przedziału [1,10 4 ] i k = 14. Oscylacje Przebieg algorytmu Tabu Search dla min k Tree. Na osi X przedstawione sa kolejne iteracje. Na osi Y przedstawione sa wartości funkcji celu bieżacego rozwiazania x 0 i najlepszego rozwiazania w danej iteracji x opt. Najlepsze znalezione rozwiazanie Metody optymalizacji Paweł Zieliński p. 42/55
43 Problem szeregowania1 w i T i Dany jest zbiór prac J = {1,...,n}, które maja być wykonywane na jednej maszynie. Zakłada się, że przestoje maszyny sa nie dozwolone. Dla każdej pracy i J sa zadane: czas trwania p i, pożadany termin zakończenia d i oraz waga w i charakteryzujaca ważność pracy i. Każdy harmonogram jest pewna permutacja π = (π(1),...,π(n)) prac należacych do zbioru J. Przez C i (π), i J, oznacza się czas zakończenia pracy i w permutacji π, czyli jeżeli i = π(k) to C i = k j=1 p π(j). Celem jest wyznaczenie permutacji π dla której: w i max{0,c i (π) d i } min. i J w i T i (π) = i J Metody optymalizacji Paweł Zieliński p. 43/55
44 Problem szeregowania1 w i T i Możliwa realizacja Rozwiazania moga być kodowane jako (π(1),...,π(n)) prac należacych do zbioru J. Jako ruch można przyjać np. zamianę miejscami dwóch prac w bieżacym rozwiazaniu π(1) π(2) π(3) π(4) π(5) π(6) Atrybutem powyższego ruchu jest swap(i, j), gdzie i, j sa zamienianymi pracami. TABU = {(swap(i 1,j 1 ),kadencja 1 ),(swap(i 2,j 1 ),kadencja 2 ),...}. Metody optymalizacji Paweł Zieliński p. 44/55
45 Problem szeregowaniafm C max Dany jest zbiór prac J = {1,...,n}, które maja być wykonywane na m maszynach M 1,...,M m. Zakłada się: 1. każda maszyna może wykonywać w danym momencie tylko jedna pracę, 2. każda praca musi być wykonywana najpierw na maszynie M 1 następnie na maszynie M 2 i na końcu na maszynie M m, 3. kolejność wykonywania prac na wszystkich trzech maszynach jest taka sama. Dla każdej pracy i J sa zadane czasy trwania p j i, na maszynie M j, j = 1,...,m. Każdy harmonogram jest jednoznacznie określony przez pewna permutację π = (π(1),...,π(n)) prac należacych do zbioru J. Przez C i (π) oznacza się czas zakończenie pracy i J na maszynie M m dla permutacji π. Celem jest wyznaczenie permutacji π takiej, że: C max = C π(n) min. Metody optymalizacji Paweł Zieliński p. 45/55
46 Problem szeregowaniafm C max Możliwa realizacja Rozwiazania moga być kodowane jako (π(1),...,π(n)) prac należacych do zbioru J. Jako ruch można przyjać zamianę miejscami dwóch prac w bieżacym rozwiazaniu. swap(i,j), gdzie i,j sa zamienianymi pracami. Niech π(k) i π(l) oznaczaja pozycję odpowiednio pozycję prac i i j w permutacji π. Wówczas swap(i,j) jest równoważna operacjom insert(i, π(l)) i insert(j, π(k)), gdzie oznaczajacym wstaw pracę i na pozycję π(l) i wstaw pracę j na pozycję π(k). Atrybutami ruchu sa więc insert(i, π(l)) i insert(j, π(k)). Ruch jest zakazany jeżeli jeden z jego atrybutów jest na liście T ABU. Metody optymalizacji Paweł Zieliński p. 46/55
47 Problem szeregowaniafm C max Inna propozycja Jako ruch można przyjać wstawienie pracy i w inne miejsce. Powyższy ruch można wyrazić jako ciag operacji swap(i,j). Np. dla danej permutacji (3,2,4,5,1,6) prace 1 wstawiamy przed praca 2 otrzymujemy więc (3,1,2,4,5,6), co jest równoważne swap(5, 1) swap(4, 1) swap(2, 1). Atrybutami ruchu sa więc swap(i,j). Ruch jest zakazany jeżeli jeden z jego atrybutów jest na liście T ABU. Metody optymalizacji Paweł Zieliński p. 47/55
48 Możliwa realizacja Problem komiwojażera Rozwiazania moga być kodowane jako permutację miast (π(1),...,π(n)). Każda taka permutacja jednoznacznie wyznacza następujac a trasę komiwojażera: π(1) π(2) π(1) o koszcie: c(π(n),π(1))+ n 1 i=1 c(π(i),π(i+1)). Metody optymalizacji Paweł Zieliński p. 48/55
49 Problem komiwojażera Jako ruch można przyjać zamianie miejscami dwóch sasiednich miast w bieżacym rozwiazaniu W wyniku ruchu z trasy (1, 2, 3, 4, 5) otrzymujemy trasę (1,3,2,4,5). Atrybutem ruchu jest change(i,j), gdzie i,j sa zamienianymi miastami TABU = {(change(i 1,j 1 ),kadencja 1 ),(change(i 2,j 2 ),kadencja 2 ),...,}. Metody optymalizacji Paweł Zieliński p. 49/55
50 Problem programowania binarnego Dla danych c j, a ij i b i, i = 1,...,m, j = 1,...,n wyznaczyć wektor (x 1,...,x n ), dla którego n j=1 c jx j min n j=1 a ijx j b i i = 1,...,n x j {0,1} j = 1,...,n Możliwa realizacja Każde rozwiazanie może być kodowane jako wektor binarny (x 1,...,x n ) będacy wektorem rozwiazań problemu. Ruch może polegać na zanegowaniu wartości wybranej zmiennej w bieżacym rozwiazaniu. Metody optymalizacji Paweł Zieliński p. 50/55
51 Problem programowania binarnego Atrybutem jest więc neg(i), gdzie i jest indeksem zanegowanej zmiennej. TABU = {(neg(i 1 ),kadencja 1 ),(neg(i 2 ),kadencja 2 ),...,}. Nie każdy wektor binarny spełnia zadane ograniczenia. Należy uwzględnić ten fakt wprowadzajac odpowiednia funkcję oceny wartości ruchu. Np. ruch z rozwiazania x = (x 1,...,x n ) do rozwiazania y = (y 1,...,y n ) można ocenić w następujacy sposób: n n m n MVal(x,y) = c j x j c j y j α max{0,b i c j x j }. j=1 j=1 i=1 Człon α m i=1 max{0,b i n j=1 c jx j } jest kara za naruszenie ograniczeń przez y. j=1 Metody optymalizacji Paweł Zieliński p. 51/55
52 Algorytm TA threshold accepting Algorytm TA jest uproszczona wersja algorytmu symulowanego wyżarzania. Kolejne rozwiazanie x jest wybierane z sasiedztwa N(x 0 ) w sposób losowy. Rezygnuje się z akceptacji ruchu opartej na prawdopodobieństwie akceptacji. Zamiast tego ruch z x 0 do x jest wykonywany jeżeli spełniony jest następujacy progowy warunek akceptacji f(x) f(x 0 ) < T i, gdzie T i określa wartość progu w i-tej iteracji algorytmu. Im wyższy próg T i tym gorsze rozwiazania od rozwiazania bieżacego sa akceptowane (przeszukiwany jest większy zakres przestrzeni rozwiazań). Metody optymalizacji Paweł Zieliński p. 52/55
53 Algorytm TA threshold accepting Progi T i sa nierosnacym ciagiem nieujemnych liczb rzeczywistych. Najczęściej, w realizacjach algorytmu, sa one zadawane w tablicy. Algorytm TA kończy pracę jeżeli przekroczy zadana liczbę iteracji. Metody optymalizacji Paweł Zieliński p. 53/55
54 Porównanie Algorytm 7 (Algorytm symulowanego wyżarzania). Wygeneruj punkt startowyx 0 X T T max {poczatkowa temperatura} x opt x 0 repeat fork = 1 tok do {K jest zadana liczba powtórzeń} Wybierz w sposób losowyx N(x 0 ) if random[0,1) < P(x 0,x) then x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if end if end for T g(t) {Obniż temperaturę} until warunek końca=true Algorytm 8 (Algorytm TA). Wygeneruj punkt startowyx 0 X T T max {poczatkowy próg akceptacji} x opt x 0 repeat fork = 1 tok do {K jest zadana liczba powtórzeń} Wybierz w sposób losowyx N(x 0 ) if f(x) f(x 0 ) < T then x 0 x iff(x 0 ) < f(x opt ) then x opt x 0 end if end if end for Weź z tablicy kolejny próg akceptacji T until warunek końca=true Metody optymalizacji Paweł Zieliński p. 54/55
55 Problem komiwojażera Realizacja algorytmu TA Progi akceptacji sa zadane w tablicy. Np. T = {0.13,0.12,...,0.10,0.095,...,0.075,0.07,...,0.07, 0.065,...,0.02,0} Maksymalna liczba iteracji, np Wybór losowy x N(x 0 ) jest realizowany za pomoca metody 2-opt, tj. wybiera się losowo dwa miasta i i j z trasy, następnie usuwamy połaczenia między miastami i i i+1 oraz j i j +1 na koniec łaczymy miasta i i j oraz i+1 i j +1. i+1 i j j +1 Metody optymalizacji Paweł Zieliński p. 55/55
Tabu Search (Poszukiwanie z zakazami)
Tabu Search (Poszukiwanie z zakazami) Heurystyka - technika znajdująca dobre rozwiązanie problemu (np. optymalizacji kombinatorycznej) przy rozsądnych (akceptowalnych z punktu widzenia celu) nakładach
Bardziej szczegółowoOptymalizacja. Przeszukiwanie lokalne
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x
Bardziej szczegółowoPrzykłady problemów optymalizacyjnych
Przykłady problemów optymalizacyjnych NAJKRÓTSZA ŚCIEŻKA W zadanym grafie G = (V, A) wyznacz najkrótsza ścieżkę od wierzchołka s do wierzchołka t. 2 7 5 5 3 9 5 s 8 3 1 t 2 2 5 5 1 5 4 Przykłady problemów
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowoOptymalizacja. Wybrane algorytmy
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem
Bardziej szczegółowoOptymalizacja. Przeszukiwanie tabu
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Naturalny sposób powstania algorytmu Algorytm optymalizacji lokalnej Niezdolność wyjścia z lokalnych
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji
Bardziej szczegółowoPrzeszukiwanie lokalne
Przeszukiwanie lokalne 1. Klasyfikacja algorytmów 2. Przeszukiwanie lokalne 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują rozwiązanie optymalne, 1. Klasyfikacja algorytmów Algorytmy dokładne znajdują
Bardziej szczegółowoMetody Optymalizacji: Przeszukiwanie z listą tabu
Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek
Bardziej szczegółowoWybrane podstawowe rodzaje algorytmów
Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
Bardziej szczegółowoMetoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Bardziej szczegółowoOptymalizacja. Przeszukiwanie tabu
dr inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Naturalny sposób powstania algorytmu Algorytm największego spadku niezdolność wyjścia z lokalnych optimów!
Bardziej szczegółowoMetody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Bardziej szczegółowoRównoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Symulowane wyżarzanie Maciej Hapke maciej.hapke at put.poznan.pl Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne zmniejszanie
Bardziej szczegółowoAlgorytmy metaheurystyczne podsumowanie
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem
Bardziej szczegółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Bardziej szczegółowoWykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ
Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZŁOŻONOŚĆ OBLICZENIOWA ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ dr hab. Krzysztof SZKATUŁA, prof. PAN Instytut Badań Systemowych PAN Uniwersytet
Bardziej szczegółowoZofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Bardziej szczegółowoZaawansowane programowanie
Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoMetody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
Bardziej szczegółowoTeoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
Bardziej szczegółowoProgramowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW 13. wykład z algebry liniowej Warszawa, styczeń 2018 Mirosław Sobolewski (UW) Warszawa, 2018 1 /
Bardziej szczegółowoMatematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne
A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoDrzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Bardziej szczegółowoALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar
Bardziej szczegółowoProgramowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2009 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 13
Bardziej szczegółowoAlgorytmy zrandomizowane
Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik
Bardziej szczegółowoProgramowanie liniowe całkowitoliczbowe
Programowanie liniowe całkowitoliczbowe Jeżeli w zadaniu programowania liniowego pewne (lub wszystkie) zmienne musza przyjmować wartości całkowite, to takie zadanie nazywamy zadaniem programowania liniowego
Bardziej szczegółowoAlgorytmy metaheurystyczne Wykład 6. Piotr Syga
Algorytmy metaheurystyczne Wykład 6 Piotr Syga 10.04.2017 Wprowadzenie Inspiracje Wprowadzenie ACS idea 1 Zaczynamy z pustym rozwiązaniem początkowym 2 Dzielimy problem na komponenty (przedmiot do zabrania,
Bardziej szczegółowoOSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
Bardziej szczegółowoROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym
Bardziej szczegółowoAlgorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)
Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie
Bardziej szczegółowoEGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
Bardziej szczegółowozadaniem programowania liniowego całkowitoliczbowego. nazywamy zadaniem programowania liniowego 0-1. Zatem, w
Sformułowanie problemu Zastosowania Programowanie liniowe całkowitoliczbowe Jeżeli w zadaniu programowania liniowego pewne (lub wszystkie) zmienne musza przyjmować wartości całkowite, to takie zadanie
Bardziej szczegółowoProgramowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2012 Mirosław Sobolewski (UW) Warszawa, 2012 1 / 12
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Bardziej szczegółowoOptymalizacja. Symulowane wyżarzanie
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Bardziej szczegółowoProgramowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Bardziej szczegółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoTemat: Algorytmy zachłanne
Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,
Bardziej szczegółowoMetody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawy optymalizacji Plan prezentacji 1 Podstawy matematyczne 2 3 Eliminacja ograniczeń Metody
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
Bardziej szczegółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoProgramowanie sieciowe. Tadeusz Trzaskalik
Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej
Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-01-09
Bardziej szczegółowoProblem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.
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
Bardziej szczegółowoAlgorytmika Problemów Trudnych
Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.
Bardziej szczegółowoAnaliza Algorytmów 2018/2019 (zadania na laboratorium)
Analiza Algorytmów 2018/2019 (zadania na laboratorium) Wybór lidera (do 9 III) Zadanie 1 W dowolnym języku programowania zaimplementuj symulator umożliwiający przetestowanie algorytmu wyboru lidera ELECT
Bardziej szczegółowo5. Najkrótsze ścieżki
p. Definicja 5. Najkrótsze ścieżki 5.1 Odległości w grafach: definicje i własności (Długość ścieżki). Długościa ścieżki nazywamy liczbę krawędzi występujacych w tej ścieżce. Bardziej formalnie, jeżeli
Bardziej szczegółowoZadania laboratoryjne i projektowe - wersja β
Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki
Bardziej szczegółowoSieć (graf skierowany)
Sieci Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B), (A, D), (A, C), (B, C),..., } Ścieżki i cykle
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoHeurystyczne metody przeszukiwania
Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.
Bardziej szczegółowoAlgorytmy stochastyczne laboratorium 03
Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość
Bardziej szczegółowoRozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Bardziej szczegółowoMinimalne drzewa rozpinające
KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Wprowadzenie Maciej Hapke maciej.hapke at put.poznan.pl Literatura D.E. Goldberg Algorytmy genetyczne i zastosowania, WNT, 1995 Z. Michalewicz Algorytmy genetyczne + struktury danych
Bardziej szczegółowoObliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Bardziej szczegółowoBadania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Bardziej szczegółowoProgramowanie liniowe
Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2015 Mirosław Sobolewski (UW) Warszawa, 2015 1 / 16 Homo oeconomicus=
Bardziej szczegółowoAlgorytm simplex i dualność
Algorytm simplex i dualność Łukasz Kowalik Instytut Informatyki, Uniwersytet Warszawski April 15, 2016 Łukasz Kowalik (UW) LP April 15, 2016 1 / 35 Przypomnienie 1 Wierzchołkiem wielościanu P nazywamy
Bardziej szczegółowoPlan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoA. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1
A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a,a 2,...,a p i qodbiorców, którychpopytwynosi b,b 2,...,b
Bardziej szczegółowoOptymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowoZAGADNIENIE TRANSPORTOWE(ZT)
A. Kasperski, M. Kulej BO Zagadnienie transportowe 1 ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a 1, a 2,...,a p i q odbiorców,którychpopytwynosi b 1, b 2,...,b q.zakładamy,że
Bardziej szczegółowowiedzy Sieci neuronowe
Metody detekcji uszkodzeń oparte na wiedzy Sieci neuronowe Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 7 Wprowadzenie Okres kształtowania się teorii sztucznych sieci
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegółowoModele i narzędzia optymalizacji w systemach informatycznych zarządzania
Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5
Bardziej szczegółowoALHE. prof. Jarosław Arabas semestr 15Z
ALHE prof. Jarosław Arabas semestr 15Z Wykład 5 Błądzenie przypadkowe, Algorytm wspinaczkowy, Przeszukiwanie ze zmiennym sąsiedztwem, Tabu, Symulowane wyżarzanie 1. Błądzenie przypadkowe: Pierwszym krokiem
Bardziej szczegółowoProgramowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
Bardziej szczegółowoProgramowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik
Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania
Bardziej szczegółowoProgramowanie liniowe
Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2010 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 15 Homo oeconomicus=
Bardziej szczegółowoMetody przeszukiwania
Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowoAlgorytmy i struktury danych.
Algorytmy i struktury danych. Wykład 4 Krzysztof M. Ocetkiewicz Krzysztof.Ocetkiewicz@eti.pg.gda.pl Katedra Algorytmów i Modelowania Systemów, WETI, PG Problem plecakowy mamy plecak o określonej pojemności
Bardziej szczegółowoNierówność Krafta-McMillana, Kodowanie Huffmana
Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy
Bardziej szczegółowoKompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Bardziej szczegółowoDziałanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Bardziej szczegółowoPROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE
D: PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE I. Strategia zachłanna II. Problem przetasowań w genomie III. Sortowanie przez odwrócenia IV. Algorytmy przybliżone V. Algorytm zachłanny
Bardziej szczegółowoModelowanie zależności. Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski
Modelowanie zależności pomiędzy zmiennymi losowymi Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski P Zmienne losowe niezależne - przypomnienie Dwie rzeczywiste zmienne losowe X i Y
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoHeurystyki w podejmowaniu decyzji
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Heurystyki w podejmowaniu decyzji Metaheurystyki, heurystyki Wprowadzenie, podstawowe pojęcia Proste techniki przeszukiwania Symulowane wyżarzanie
Bardziej szczegółowoZagadnienie najkrótszej drogi w sieci
L L Zagadnienie najkrótszej drogi w sieci 1 Rozważmy sieć, gdzie graf jest grafem skierowanym (digrafem) a jest funkcją określoną na zbiorze łuków. Wartość tej funkcji na łuku!"$#%'&, którą oznaczać będziemy
Bardziej szczegółowo