ALGORYTMY GENETYCZNE DLA POŁACZEŃ ROZGAŁEŹNYCH

Wielkość: px
Rozpocząć pokaz od strony:

Download "ALGORYTMY GENETYCZNE DLA POŁACZEŃ ROZGAŁEŹNYCH"

Transkrypt

1 Tomasz Bartczak, Piotr Zwierzykowski Politechnika Poznańska Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, Poznań pzwierz@et.put.poznan.pl 2005 Poznańskie Warsztaty Telekomunikacyjne Poznań 8-9 grudnia 2005 ALGORYTMY GENETYCZNE DLA POŁACZEŃ ROZGAŁEŹNYCH Streszczenie: W artykule przedstawiono przeglad algorytmów genetycznych wykorzystywanych do wielokryterialnej optymalizacji połaczeń rozgałęźnych w sieci pakietowej. Omówione zostały trzy - zdaniem autorów - najbardziej reprezentatywne algorytmy: Nilanjan Banerjee i Sajal K. Das (alg. BD) [1], Zhou Xianwei, Chen Changjia i Zhu Gang(alg. XCG) [2] oraz algorytm Multiobject Multicasting Routing [3]. Opisane algorytmy charakteryzuja się różnymi metodami wyznaczania rozwiazania kompromisowego 1. Wprowadzenie Coraz więcej aplikacji i protokołów stosowanych w sieciach teleinformatycznych wykorzystuje model transmisyjny jeden do wielu. Model ten można realizować na wiele różnych sposobów, z których na uwagę zasługuje połączenie rozgałęźne (ang. multicast connection ). Połączenie typu "multicast" umożliwia efektywniejsze wykorzystanie dostępnej przepływności poprzez znaczne ograniczenie ruchu, co jest możliwe dzięki ograniczeniu liczby kopii pakietów, przesyłanych w ramach danego połączenia indywidualni odbiorcy reprezentowani są przez grupę [4]. Nowe usługi w sieciach pakietowych wymagają zapewnienia odpowiednich parametrów jakościowych (ang. quality of service). Wymagania dotyczące jakości zestawianych połączeń wyraża się przy pomocy metryk [5]. Współcześnie stosowane protokoły routingu dla sieci IP (ang. Internet Protocol) biorą pod uwagę tylko jedną metrykę i jest to w wielu zastosowaniach niewystarczające. Wang i Crowcroft wykazali, że algorytmy zestawiania połączeń punkt punkt, w których pod uwagę brane jest więcej niż jedno kryterium, są NP zupełne [5]. Zatem, także algorytmy połączeń punkt grupa są NP zupełne, a to oznacza, że wszystkie algorytmy dokładne wymagają na tyle dużych zasobów obliczeniowych, że wyklucza to je w zastosowaniach praktycznych [6]. Istnieje zatem potrzeba wprowadzenia rozwiązań przybliżonych. Algorytmy umożliwiające wyznaczanie rozwiązań przybliżonych można podzielić na algorytmy deterministyczne oraz niedeterministyczne. Algorytmy deterministyczne wyznaczają drzewa połączeń z punktu widzenia poszczególnych odbiorników, starając się aby jak najwięcej krawędzi było wspólnych dla wielu ścieżek [7], [8]. Takie podejście uniemożliwia stworzenie uniwersalnych metod deterministycznych o małej złożoności obliczeniowej. Inne podejście cechuje algorytmy wykorzystujące metody niedeterministycznego przeszukiwania zbioru rozwiązań, których reprezentantem są algorytmy genetyczne. Algorytmy niedeterministyczne umożliwiają wyznaczenie rozwiązania dla szerokiego zakresu topologii sieci a ich struktura wprowadza możliwości zrównoleglenia obliczeń. W artykule przedstawiono przykładowe algorytmy genetyczne umożliwiające wielokryterialną optymalizację połączeń rozgałęźnych. Artykuł składa się z pięciu części. Część druga opisuje podstawowe operacje, z których składają się algorytmy genetyczne. W części trzeciej zaprezentowano formalny opis problemu realizacji wielokryterialnych połączeń grupowych z ograniczeniami. W rozdziale czwartym omówiono trzy algorytmy genetyczne: BD (Banerjee i Das), XCG (Xianwei, Changjia i Gang) oraz MMR (Crichigno i Barán). W ostatniej części artykułu przedstawiono porównanie omawianych metod oraz uzasadnienie wyboru prezentowanych algorytmów. 2. Algorytmy genetyczne Algorytmy genetyczne (dalej oznaczane AG) służą do rozwiązywania problemów optymalizacyjnych, a więc do znajdowania najlepszego rozwiązania w zbiorze wielu możliwych rozwiązań [11]. AG zostały opracowane przez Johna Hollanda [10] i są oparte na darwinowskiej zasadzie ewolucji naturalnej. Podstawowym pojęciem algorytmów genetycznych jest populacja. Populacja jest zbiorem osobników z których każdy reprezentowany jest przez ciąg kodowy przedstawiający jedno z możliwych rozwiązań danego problemu (oznaczanego P o ). Ciągi kodowe składają się z genów. W genetyce wyróżnia się różne rodzaje genów np. inny gen opowiada za kolor oczu zwierzęcia a inny za jego wzrost. Podobne znaczenie przypisuje się genom w algorytmach, gdzie oznaczają jedną z cech rozwiązania (np. krawędź w grafie). W wyniku iteracyjnego procesu stan populacji ulega zmianie i dlatego wprowadzono pojęcie pokolenia, które określa stan populacji w danej iteracji t. W każdej iteracji przeprowadza się takie operacje elementarne jak: reprodukcja, krzyżowanie oraz mutacja. Reprodukcja jest to proces powielania indywidualnych ciągów kodowych w zależności od ich przystosowania. Przystosowanie oznacza jakość generowanych rozwiązań i określa się je poprzez funkcje celu, która określa dobroć danego ciągu kodowego. Rezultatem operacji reprodukcji jest zbiór powielonych osobników R, a liczba reprezentantów danego ciągu kodowego w zbiorze R bezpośrednio zależy od jego przystosowania. Zatem dany osobnik może posiadać tam kilka egzemplarzy, jednakże w przypadku słabego przystosowania może w ogóle nie być zakwalifikowa- PWT POZNAŃ 8-9 GRUDNIA /6

2 ny do tego zbioru. W kolejnym kroku następuje operacja krzyżowania. W pierwszej fazie poszczególne osobniki ze zbioru R w sposób losowy łączone są w pary. Natomiast w drugim etapie - także w sposób losowy - określa się miejsce krzyżowania i następuje wymiana genów pomiędzy osobnikami w ramach danej pary. Przedstawiony sposób poszukiwania rozwiązań może prowadzić do znalezienia rozwiązania optymalnego lokalnie. Z tego względu wprowadza się operację mutacji. Mutacja w sposób losowy z pewnym małym prawdopodobieństwem zmienia wartość genu dla danego osobnika. Prowadzi to do genetycznego zróżnicowania i tym samym maleje prawdopodobieństwo znalezienia się w minimum lokalnym. AG należą do grupy metod probabilistycznych, jednak niedeterministyczne przeszukiwanie zbioru rozwiązań jest ukierunkowane dzięki operacjom reprodukcji i krzyżowania [11]. 3. Sformułowanie problemu Problem budowy drzew transmisyjnych typu multicast obejmuje cały szereg zagadnień. W przypadku jednokryterialnych algorytmów drzew rozgłoszeniowych z jednym źródłem można go zdefiniować następująco [12]. Rozważana jest sieć teletransmisyjna reprezentowana przez graf G = (E, V ), gdzie E jest zbiorem krawędzi, a V jest zbiorem wierzchołków. W celu oszacowania jakości zestawianych połączeń każdej krawędzi l ze zbioru E przypisuje się koszt c(l). Koszt ten może wyrażać opóźnienie łącza, opłatę za jego wykorzystanie, prawdopodobieństwo błędów lub inne parametry. Dodatkowo w grafie wyróżniony został wierzchołek s będący źródłem transmisji rozgłoszeniowej oraz zbiór odbiorników M taki, że M V i s M. Jednokryterialne drzewo transmisji grupowej MT definiuje się jako drzewo o wierzchołku w źródle s, które łączy wszystkie węzły ze zbioru M, a koszt C(MT ) spełnia następujący warunek: C(MT ) = min c(l). (1) l MT W przypadku algorytmów wielokryterialnych - oprócz wymienionego powyżej kosztu - należy rozważyć dodatkowe warunki [7]. Często jednym z nich jest ograniczenie opóźnienia każdej ścieżki łączącej źródło s z dowolnym odbiornikiem v do wartości, które można wyrazić następująca zależnością: p MT D(e), (2) e p gdzie D(e) to opóźnienie krawędzi e. 4. Prezentacja wybranych AG Główną trudnością jaką stanowią problemy wielokryterialne jest wzajemna sprzeczność poszczególnych kryteriów. Oznacza to, że rozwiązanie optymalne dla jednego kryterium może być mało optymalne z punktu widzenia innego kryterium. W takim przypadku AG są szczególnie użyteczne, ponieważ w tym przypadku, zbudowanie efektywnego algorytmu deterministycznego, zarówno pod względem szybkości działania, jak i jakości otrzymywanych rozwiązań, jest bardzo trudne. Wielokryterialne algorytmy genetyczne można podzielić na trzy grupy: algorytmy, w których określa się kryteria decyzyjne a następnie szuka się rozwiazania; algorytmy, w których naprzemiennie następuje szukanie i podejmowania decyzji oraz algorytmy, w których najpierw realizowany jest proces poszukiwania rozwiazań, a następnie podejmowana jest decyzja [15]. Pierwszy przypadek oznacza, że kryteria wyboru najlepszego rozwiązania określane są jeszcze przed wykonaniem algorytmu. W praktyce w do tej grupy klasyfikuje się metody agregacyjne, które sprowadzają wiele kryteriów do jednej metryki. W artykule reprezentantem tej grupy jest algorytm Nilanjan Banerjee a i Sajal K. Das a przedstawiony w rozdziale 4.1 oraz algorytm zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang a (rozdz. 4.2.). Kolejna grupa obejmuje metody, w których proces szukania rozwiązań i wyboru najlepszego następuje iteracyjnie. Jest to grupa, która ma szczególne znaczenie w przypadku problemów związanych ze wspomaganiem decyzji i nie jest zaprezentowana w artykule, ponieważ nie są znane autorom AG należące do tej klasy, które są wykorzystywane w problemach optymalizacji połączeń rozgałęźnych. Ostatnia grupa składa się z algorytmów, które najpierw szukają rozwiązań np. najlepszych w ramach poszczególnych kryteriów, a dopiero potem podejmowana jest decyzja o wyborze najlepszego czyli rozwiązuje problem typu MOP (ang. Multiobjective Optimization Problem) [9]. Reprezentantem tej grupy jest opisany w rozdziale 4.3. algorytm MMR (ang. Multiobjective Multicasting Routing). Algorytmy genetyczne rozwiązujące problem wielokryterialnych połączeń typu jeden-do-wielu można podzielić także ze względu na cechy typowe dla AG takie jak sposób kodowania rozwiązań w postaci chromosomów czy podejście do operacji krzyżowania. Przy czym podstawowym kryterium jest sposób kodowania rozwiązań w postaci chromosomów, który można realizować wykorzystując: listę ścieżek [1], [3], listę wierzchołków Steinera [16], [2], ciąg Prüfer a [17] oraz metodę Palmera [18]. Natomiast podstawowymi metodami realizacji operacji krzyżowania są: krzyżowanie jednopunktowe [11], [1], krzyżowanie dwupunktowe [11], [2] i krzyżowanie równomierne [13]. A. Algorytm Nilanjan Banerjee a i Sajal K.Das a Nilanjan Banerjee i Sajal K. Das zaproponowali własną wersję heurystyki opartą o algorytm genetyczny rozwiązującą problem drzewa Steinera z ograniczeniami (algorytm BD) [1]. W modelu sieci przyjętym na potrzeby algorytmu BD, poszczególne krawędzie nie mają ściśle zdefiniowanego kosztu i opóźnienia, lecz prawdopodobieństwo przyjęcia przez opóźnienie i pasmo określonych wartości. Wprowadzono także ograniczenie, zgodnie z którym opóźnienie pomiędzy źródłem s a dowolnym odbiornikiem nie może przekroczyć wartości progowej oraz ograniczenie przepustowości połączenia źródło-odbiornik (co najmniej B). W pierwszej fazie działania algorytmu dla każdej pary źródło odbiornik (s, r i ) (gdzie i to numer odbiornika) wyznacza się zbiór łączących je ścieżek R i, a następnie spośród poszczególnych zbiorów R i usuwa się wszystkie ścieżki nie spełniające ograniczeń. Ciąg kodowy danego PWT POZNAŃ 8-9 GRUDNIA /6

3 określany mianem algorytmu XCG [2]. Algorytm BD korzystał ze zbiorów ścieżek łączących źródło s z poszczególnymi odbiornikami i na tej podstawie znajdował najbardziej optymalną kombinację ścieżek z poszczególnych zbiorów. Algorytm XCG cechuje się innym podejściem. Drzewo Steinera składa się ze źródła transmisji typu multicast, zbioru odbiorników M oraz zbioru pewnej liczby wierzchołków S należących do V \(M s) zwanych wierzchołkami Steinera. Wierzchołki Steinera nie są odbiornikami transmisji grupowej, są jednak punktami pośredniczącymi w transmisji. Zarówno źródło, jak i odbiorniki, są obowiązkową częścią drzewa Steinera, natomiast zbiór wierzchołków Steinera może być dowolny. Drzewa składające się z różnych kombinacji wierzchołków Steinera będą odznaczać się różnymi właściwościami. Algorytm XCG opiera się na tym spostrzeżeniu. Dla danego źródła s, zbioru odbiorników M i zbioru wierzchołków Steinera S wyznaczany jest graf zupełny, którego krawędziami są najkrótsze ścieżki łączące dane wierzchołki. Następnie dla takiego grafu wyznaczane jest drzewo rozpinające będące drzewem rozgłoszeniowym. W tym celu wykorzystywana jest zmodyfikowana wersja algorytmu KMB [19], która oprócz źródła s i zbioru M pod uwagę bierze także zbiór wierzchołków Steinera S. W algorytmie XCG, algorytm genetyczny użyty jest do znalezienia optymalnego zbioru S. XCG pozwala rozwiązywać problem budowy minimalnych w sensie kosztu drzew transmisji grupowej nawet jeśli pod uwagę brane jest wiele kryteriów i oparta jest na jednokryterialnym algorytmie zaproponowanym przez Esbensena [16]. Jednakże, w przeciwieństwie do poprzednio opisywanego algorytmu BD, ograniczenia nie są tu tak ścisłe. Rozwiązania, które w niewielkim stopniu przekraczają zadane kryteria ograniczające, także brane są pod uwagę w iteracyjnym procesie obliczania rozwiązania końcowego. Kolejną kluczową różnicą pomiędzy algorytmem BD a XCG jest odmienne traktowanie ograniczeń. W przypadku algorytmu BD nie były one w ogóle uwzględniane przez algorytm genetyczny, natomiast w przypadku metody XCG ograniczenia są częścią funkcji celu. W przypadku algorytmu XCG ciąg kodowy, który określa które wierzwww.pwt.et.put.poznan.pl osobnika składa się z m = M genów, z których każdy gen reprezentuje ścieżkę ze zbioru R i. Populacja początkowa składa się z kilku osobników wybranych w sposób losowy. W celu określania stopnia przystosowania definiuje się agregacyjną funkcję celu, która określona jest jako suma trzech czynników: f = F 1 + F 2 + F 3. (3) Definicje czynników F 1, F 2, F 3 oparte są na prawdopodobieństwie, ponieważ krawędzie opisane są prawdopodobieństwem przyjęcia określonej wartości opóźnienia i pasma. Tak więc, znając wartość funkcji celu dla danego osobnika, można wyznaczyć prawdopodobieństwo jego reprodukcji: f(i) P r (i) = i=n (4) i=1 f(i), gdzie czynnik f(i) oznacza wartość funkcji celu dla danego osobnika i. Czynnik F 1 określa prawdopodobieństwo zdarzenia, że dane drzewo transmisji grupowej M T spełnia ograniczenia nakładane na opóźnianie. MT spełnia to ograniczenie jeśli poszczególne ścieżki łączące źródło i odbiornik, także je spełniają. A zatem prawdopodobieństwo spełnienia ograniczenia nakładanego na opóźnienie przez całe drzewo można wyrazić wzorem: F 1 = p( ) = f P ( ), (5) P M gdzie f P oznacza prawdopodobieństwo spełnienia ograniczeń nakładanych na opóźnienie przez ścieżkę P. W podobny sposób wyznacza się czynnik F 2 określający prawdopodobieństwo, że M T spełnia warunki ograniczające pasmo: b p (B) = b l (B), l P (6) F 2 = p(b) = b p (B), (7) p M gdzie czynnik b l (B) dla krawędzi l określa prawdopodobieństwo osiągnięcia przepustowości B. Ostatni czynnik F 3 pozwala wpływać na faworyzowanie ścieżek o mniejszym wykorzystaniu pasma: F 3 = R = l M (c l b l ) l M c, (8) l gdzie czynnik c l oznacza pojemność łącza, a b l oznacza wielkość aktualnie wykorzystanego pasma. Analizując wzór (8) można zauważy, że preferowane są łącza z jak najmniejszym wykorzystaniem pasma. Schemat działania algorytmu BD został przedstawiony na listingu 1. Algorytm BD należy do klasy algorytmów genetycznych. Zatem schemat jego działania polega na iteracyjnym procesie reprodukcji, krzyżowania i mutacji (listing 1 linie 8-13). Populację początkową wybiera się w sposób losowy. B. Algorytm genetyczny zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang a Kolejnym spośród omawianych algorytmów jest algorytm zaproponowany przez Zhou Xianwei, Chen Changjia i Zhu Gang a, który w dalszej części artykułu będzie input : graf G(E, V ), źródło s, zbiór odbiorników M output: graf transmisji typu multicast MT forall m M do R m = wyznacz zbiór wszystkich ścieżek łączących źródło s z odbiornikiem m; forall m M do ze zbioru R m usuń ścieżki nie spełniające ograniczeń; wylosuj populację początkową; while -condition do oblicz wartość funkcji celu; wykonaj operację reprodukcji; wykonaj operację krzyżowania; wykonaj operację mutacji; Listing 1: Schemat algorytmu BD PWT POZNAŃ 8-9 GRUDNIA /6

4 chołki ze zbioru V \(M {s}) staną się wierzchołkami Steinera. Ciąg kodowy składa się z szeregu 0 i 1. 0 na pozycji i oznacza, że wierzchołek i należący do V \(M {s}) nie jest wierzchołkiem Steinera, w przeciwnym wypadku na pozycji i jest 1. Przyjęty schemat kodowania oznacza to, że długość ciągu kodowego wynosi V \(M {s}). Przy założeniu, że długość ciągu kodowego oznaczymy z można określić funkcję mapującą π jako: π : {0, 1,..., z 1} {0, 1,..., z 1}. Funkcja π używana jest do kodowania genotypów, które przyjmują postać: {(π(0), t π(0) ), (π(1), t π(1) ),..., (π(z 1), t π(z 1 )}, gdzie t k {0, 1}, k = 0, 1,..., z 1. Funkcją celu dla algorytmu XCG określona jest wzorem (9). C(x i ) jest czynnikiem proporcjonalnym do kosztu rozwiązania oraz odwrotnie proporcjonalny do stopnia w jakim dane rozwiązanie spełnia nakładane ograniczenia. Z uwagi na to, że to czynnik minimalizowany, a funkcja celu jest funkcją, którą się maksymalizuje stąd wprowadzono wartość odniesienia C max : f(x i ) = gdzie C(x) oznacza : { Cmax C(x i ) gdy C(x i ) < C max, w przeciwnym wypadku, (9) C(x) = c(x) + K(x). (10) Drugi człon we wzorze (10) oznacza funkcję kary K(x): K(x) = β b Φ[b i (x)], (11) i=1 gdzie β jest to współczynnik kary, a Φ[b i (x)] wyraża się zależnością: Φ[b i (x)] = b 2 i (x). (12) Czynnik b i (x) oznacza stopień spełnienia danego ograniczenia i (np. może to być ograniczenie nakładane na opóźnienie lub na szerokość pasma). Znając funkcję celu można wykonać proces reprodukcji. Prawdopodobieństwo reprodukcji danego osobnika wyraża się wzorem: p i (k) = f(x i )/ n f(x j ), (13) j=1 gdzie stała n oznacza liczbę osobników w populacji. Kolejnym krokiem algorytmu jest krzyżowanie. W algorytmie XCG stosowane jest krzyżowanie dwupunktowe. Losowane są dwa punkty krzyżowania: r i r, dwa osobniki x 1 (k) i x 2 (k) krzyżowane są ze sobą tak, że powstają dwa nowe ciągi kodowe x 1 (k + 1) i x 2 (k + 1) (k oznacza numer populacji). Sposób krzyżowania przedstawiają wzory (14) i (15): oraz: i x1(k+1) = i x2(k+1) = i x1(k) gdy j r, i x2(k) gdy r < j < r i x1(k) gdy r j, i x2(k) gdy j r, i x1(k) gdy r < j < r i x2(k) gdy r j,, (14). (15) gdzie symbol i x1(k+1) oznacza, że wierzchołek i występuje w genotypie x 1 na pozycji j, a oznaczenie (k + 1) jest to number populacji. Operacja mutacji dokonywana jest z prawdopodobieństwem 0,001 na osobniku x 1 (k). W przedziale losowo generowanych liczb r i r następuje inwersja bitów. Algorytm XCG działa zgodnie ze schematem przedstawionym na listingu input : graf G(E, V ), źródło s, zbiór odbiorników M output: graf transmisji typu multicast wylosuj populację początkową; while -condition do forall o in P opulation do St = zbiór wierzchołków Steinera reprezentowanych przez dany osobnik; wykorzystując algorytm KMB wyznacz rozwiązanie w oparciu o zbiór M i St; oblicz przystosowaniu poszczególnych odbiorników; wykonaj operację reprodukcji; wykonaj operację krzyżowania; wykonaj operację mutacji; Listing 2: Schemat działania algorytmu XCG C. Algorytm MMR Ostatnim spośród omawianych algorytmów jest algorytm MMR (ang. Multiobjective Multicasting Routing) zaproponowany został przez Jorge Crichigno i Benjamín Barán a [3]. Klasa problemów, w których optymalizowane jest wiele zmiennych określana jest mianem MOP (ang. Multiobjective Optimization Problem) [9]. Problem MOP składa się z n zmiennych decyzyjnych, k funkcji celu i m ograniczeń. Funkcje celu jak i ograniczenia są funkcjami zmiennych decyzyjnych. Można to zapisać w następującej formie: optymalizuj: y = f(x) = (f 1 (x), f 2 (x),..., f k (x)), (16) przy ograniczeniu: e(x) = (e 1 (x), e 2 (x),..., e m (x)) >= 0, (17) gdzie x = (x 1, x 2,..., x n ) X jest wektorem zmiennych decyzyjnych, a y = (y 1, y 2,..., y k ) Y jest wektorem funkcji celu. X oznacza przestrzeń decyzyjną, a Y przestrzeń rozwiązań. Zbiór rozwiązań e(x) >= 0 wyznacza przestrzeń decyzyjną X r X oraz przestrzeń rozwiązań Y r Y. Z reguły nie istnieje jedno, najlepsze rozwiązanie dla problemu MOP, spełniające wszystkie kryteria. Należy więc określić kryteria optymalności rozwiązania. Dla wektorów funkcji celu przy założeniu, że u, v X r można określić następujące operatory : f(u) = f(v) gdy i 1, 2,..., k : f i (u) = f i (v), (18) f(u) f(v) gdy i 1, 2,..., k : f i (u) f i (v), (19) PWT POZNAŃ 8-9 GRUDNIA /6

5 f(u) < f(v) gdy i 1, 2,..., k : f i (u) f i (v). (20) Znając operatory opisane wzorami (18), (19) i (20) można określić zależność dominacji oraz nieporównywalności dla wektorów decyzyjnych u i v. Wektor u dominuje wektor v jeśli f(u) < f(v). Wektory u i v są nieporównywalne jeśli f(u) (f(v) i f(v) f(u). Określenie: wektor u dominuje wektor v oznacza, że wszystkie funkcje celu osiągają lepsze wartości dla wektora u niż dla wektora v. Jeśli wektory u i v są nieporównywalne oznacza to, że żaden z wektorów zmiennych decyzyjnych nie osiąga lepszej wartości dla wszystkich kryteriów. Co więcej oznacza to, że dla pewnych kryteriów u jest lepszy niż v, a dla innych wektor v jest lepszy niż u. Jeśli wektor zmiennych decyzyjnych x X r nie jest zdominowany przez żaden inny wektor ze zbioru X r to nazywany jest on optymalnym rozwiązaniem Pareto. Zbiór rozwiązań Pareto jest to zbiór rozwiązań, które nie są zdominowane przez żadne inne i oznaczany jest jako P nd. Załóżmy, że dany jest graf G = (E, V ) dla każdej krawędzi (i, j) E określone są: przepustowość łącza z(i, j), koszt c(i, j), opóźnienie d(i, j) oraz bieżące wykorzystanie łącza t(i, j). Dodatkowo określony jest parametr φ, który oznacza minimalną wymaganą przepustowość. W takim przypadku funkcje optymalizacyjne oraz ograniczenia dla algorytmu MMR zdefiniowane są w następujący sposób: maksymalne opóźnienie: D M = Max n N d(i, j) (21) koszt drzewa: C = (i,j) T (i,j) p T (s,n) maksymalne wykorzystanie łącza: α T = Max (i,j) T { φ + t(i, j) z(i, j) średnie opóźnienie: D A = 1 N n N przy ograniczeniu: c(i, j); (22) (i,j) p T (s,n) } ; (23) d(i, j) ; (24) φ + t(i, j) z(i, j), (i, j) T. (25) Algorytm działa zgodnie ze schematem przedstawionym na listingu 3. W pierwszym kroku działania algorytmu wylicza się tablicę trasowania, biorąc przy tym pod uwagę ograniczenia. Tablica trasowania jest to zbiór R najkrótszych ścieżek, dla każdej pary źródło-odbiornik wyznaczonych na podstawie kosztu, opóźnienia i aktualnego wykorzystania ścieżek. Chromosom składa się z N genów. Każdy gen g i reprezentuje jedną ze ścieżek łączącą źródło s z odbiornikiem n i. Populacja początkowa P budowana jest w sposób losowy. Jak widać na listingu 3 w punkcie 4 z danej populacji usuwa się osobniki, które się duplikują. Jeden ze zduplikowanych osobników zastępowany jest losowo wygenerowanym chromosomem. W kroku 5 dla każdego chromosomu oblicza się input : graf G(E, V ), źródło s, zbiór odbiorników M output: graf transmisji typu multicast Oblicz tablice trasowania; Określ populację początkową P; while -condition do Porzuć osobniki wielokrotnie występujące w populacji; Oblicz wektor funkcji celu; Uaktualnij zbiór rozwiązań niezdominowanych P nd ; Oblicz wartość przystosowania; Dokonaj selekcji; Dokonaj krzyżowania; Dokonaj mutacji; Listing 3: Schemat działania algorytmu MMR wartość funkcji optymalizacyjnych. Następnie w punkcie 6 następuje sprawdzenie, czy któreś z rozwiązań w zbiorze rozwiązań niezdominowanych P nd nie jest zdominowane przez któryś z wektorów decyzyjnych w populacji P. Jeśli tak jest, to zbiór P nd jest uaktualniany. Przystosowanie (krok 7) liczone jest zgodnie z procedurą SPEA [9]. Wartość funkcji celu w odmienny sposób obliczana jest dla osobników ze zbioru Pareto P nd, a inaczej dla osobników w zbiorze P. Każdemu rozwiązaniu i P nd przypisywana jest moc s i [0, 1). s i jest proporcjonalne do liczby osobników j P dla których i j. Oznaczmy przez n liczbę osobników w P zdominowanych przez i, a przez N rozmiar zbioru P. Przy takim założeniu moc dla osobnika s i opisana jest wzorem (26): s i = n N + 1. (26) Dobroć osobnika j P określa się jako sumę mocy wszystkich chromosomów ze zbioru P nd, które dominują osobnik j plus 1: k i = 1 + s i. (27) i,i j Wybór osobników do reprodukcji następuje zgodnie z zasadą ruletki [11]. Ze wzorów (26) i (27) wynika, że im mniejsza jest wartość obliczonych współczynników tym rozwiązanie jest lepsze. W przypadku osobników należących do zbioru P jest to oczywiste, gdyż duża wartość współczynnika k i oznacza, że jest on zdominowany przez wiele innych rozwiązań. Tym sam prezentuje on słabe rozwiązanie i jego szanse reprodukcji powinny być małe. Wydawać się może zaskakującym, że duża wartość współczynnika s i jest niepożądana dla osobników ze zbioru rozwiązań Pareto P nd. Podejście takie jest zrozumiałe biorąc pod uwagę, że minimalizuje ona prawdopodobieństwo znalezienia się w minimum lokalnym [9]. Przystosowanie odbiorników określane jest następującym wzorem (28): S s P i Pl P p i = f i = (S k l)+ n P (S s, gdy i P nd n) nd P S k P i l P (S k l)+ n P (S s, gdy i P, nd n) (28) PWT POZNAŃ 8-9 GRUDNIA /6

6 gdzie S = s i + k j. (29) i P nd j P Przystosowanie f i określa jednocześnie prawdopodobieństwo reprodukcji danego osobnika. Po obliczeniu przystosowania osobników następuje reprodukcja, krzyżowanie oraz mutacja. 5. Wnioski W artykule zaprezentowano trzy, zdaniem autorów reprezentatywne, algorytmy genetyczne rozwiązujące NP trudny problem wielokryterialnych połączeń rozgałęzionych z ograniczeniami. Algorytmy przedstawione w artykule zostały wyselekcjonowane w taki sposób, aby pokazać przykłady metod wielokryterialnych należących zarówno do klasy pierwszej, jak i trzeciej. Klasa pierwsza oznacza metody, w których z góry znane są kryteria selekcji najlepszego rozwiązania, natomiast klasa trzecia to zbiór metod, które dokonują wstępnej selekcji i na jej podstawie wybrane jest najlepsze rozwiązanie. Dodatkowym kryterium, bardzo istotnym w przypadku algorytmów genetycznych, była chęć ukazania różnego podejścia do kodowania rozwiązań w postaci chromosomów oraz sposób podejścia do ograniczeń. Jako pierwszy przedstawiono algorytm BD. Algorytm BD należy do klasy pierwszej problemów wielokryterialnych, gdyż sprowadza wiele optymalizowanych kryteriów do jednego, poprzez zastosowanie znanej przed rozpoczęciem obliczeń funkcji agregacyjnej. Metoda ta ściśle przestrzega nakładanych ograniczeń, gdyż ze zbiorów ścieżek obliczanych w początkowej fazie działania algorytmu usuwane są wszystkie te, które ich nie spełniają. Przyjęty sposób kodowania zapewnia prostotę i szybkość działania algorytmu. Założenie, że dla każdej krawędzi znane są prawdopodobieństwa spełniania wymagań czyni ten algorytm odpowiednim do zastosowań, które charakteryzują się dużą fluktuacją ruchu. Algorytm XCG podobnie jak BD także agreguje wiele kryteriów do jednego co oznacza, że podobnie jak BD należy do klasy pierwszej. W przeciwieństwie do poprzedniej metody ograniczenia nie są traktowane tak ściśle, gdyż są one częścią funkcji celu. Odmienny jest także sposób kodowania, które w tym wypadku oparte jest na zbiorze wierzchołków Steinera. Niewątpliwą zaletą algorytmu jest rozmycie ograniczeń, dzięki czemu rozwiązania naruszające je w niewielkim stopniu także brane są pod uwagę. Odmienne kodowanie rozwiązań od algorytmu BD pozwala na rozszerzenie przestrzeni poszukiwań, która nie jest ograniczona do z góry określonych zbiorów połączeń. Wadą tego podejścia jest zwiększenie czasu działania algorytmu. Ostatnim zaprezentowanym algorytmem jest algorytm MMR. W przeciwieństwie do dwóch wcześniej przedstawionych metod należy on do trzeciej klasy algorytmów wielokryterialnych. Zatem najpierw określa się zbiór rozwiązań Pareto, który następnie staje się podstawą do określenia rozwiązania optymalnego. Podobnie jak algorytm BD metoda MMR bierze pod uwagę ograniczenia jeszcze przed rozpoczęciem obliczeń. Z punktu widzenia kodowania algorytm MMR podobny jest do XCG, gdyż wykorzystuje do tego listy ścieżek. Zaletą algorytmu MMR jest wykorzystywanie zbioru rozwiązań Pareto, dzięki temu nie trzeba określać funkcji agregujących. Dodatkowo zastosowanie procedury SPEA minimalizuje prawdopodobieństwo znalezienia się w w minimum lokalnym. Autorom znane są wyniki ukazujące efektywność działania omówionych algorytmów, ale ze względu na ograniczone możliwości prezentacji nie zostały one przedstawione w artykule. SPIS LITERATURY [1] N. Banerjee, S. Das, Fast Determination of QoS-based Multicast Routes in Wireless Networks using Genetic Algorithm, IEEE International Conference on Communications, s , [2] Z. Xianwei Ch. Changjia Z. Gang, A Genetic Algorithm for Multicasting Routing Problem International Conference on Communication Technology, s , [3] J. Crichigno, B. Baran, Multiobjective Multicast Routing Algorithm ICCCN, s , 2004 [4] H. Laxman Sahosrabuddhe, B. Mukherjee, Multicast Roufing Algorithms and Protocols: A Tutorial, IEEE Networks, No. 1, s , [5] Z. Wang, J. Crowcroft, Quality of Service Routing for Supporting Multimedia Applications, IEEE Journal on Selected Area in Communications, Vol. 14, No 7, s , [6] J. Korycki, Dokładne algorytmy dla połączeń rozgałeźnych w sieciach transportowych, Krajowe Sympozjum Telekomunikacji, Bydgoszcz, Vol. C-4.06, s , [7] L. Hun-Young, Y. Chan-Hyun, Scalable Multicast Routing Algorithm for Delay-Variation Constrained Minimum-Cost Tree, IEEE International Conference on Communications, s , [8] Q. Zhu, M. Parsa, J. Garcia-Luna-Aceves, A Source-based algorithm for near-optimal delay-constrained minimum-cost multicasting, IEEE INFOCOM, pp , s , [9] E. Zitzler, L. Thiele, Multiobjective Evolutionary Algorithms: A comparative Case Study and the Strength Pareto Approach, IEEE Trans. Evolutionary Comp., Vol. 3, No 4, s , [10] J. Holland, Adaption in Natural and Artifcial Systems, University of Michigan Press, Boston [11] D. E.Goldberg, Algorytmy genetyczne i ich zastosowania, Wydawnictwa Naukowo-Techniczne, Warszawa [12] K. Bhararh-Kumar, J. Jaffe, Routing to Multiple Destinations in Computer Networks, IEEE Transactions on Communications, Vol. 31, No 3, s , [13] G.Syswerda, J. Palmucci, The Application of Generic Algorithms to Resource Scheduling, Fourth International Conference on Genetic Algorithms, s , [14] P. B. Wilson, M. D. Macleod, Low implementation cost IIR digital filter design using genetic algorithms, IEE/IEEE Workshop on Natural Algorithms in Signal Processing, s. 4/1-4/8, [15] C. Coello, A Comprehensive Survey of Evolutionary-Based Mulitobjective Optimization Techniques, Knowledge and Information Systems, Vol. 1, No. 3, s , [16] H. Esbensen, Computing near-optimal solutions to the steiner problem in a graph using a genetic algorithm, IEEE Networks, Vol. 26, s , [17] F. Abuali, D. Schoenefeld, R. Wainwright, Designing telecommunications networks using genetic algorithms and probabilistic minimum spanning trees, ACM Symposium on Applied Computing Proceedings, s , [18] Ch. Palmer, A. Kershenbaum, Representing Trees in Genetic Algorithms, IEEE WCCI, s , [19] L. Kou, G. Markowsky, L. Berman, A Fast Algorithm for Steiner Trees, Acta Informatica, No 15, s , PWT POZNAŃ 8-9 GRUDNIA /6

NOWY ALGORYTM GENETYCZNY DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH

NOWY ALGORYTM GENETYCZNY DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH POZNAN UNIVERSITY OF TECHNOLOGY ACADEMIC JOURNALS Adam CHOJNACKI* Maciej PIECHOWIAK* Piotr ZWIERZYKOWSKI* 2007 Poznańskie Warsztaty Telekomunikacyjne Poznań 6-7 grudnia 2007 NOWY ALGORYTM GENETYCZNY DLA

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

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

Drzewa 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ółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka 13 listopada 2007 Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane 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ółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

Bardziej szczegółowo

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Metody przeszukiwania

Metody 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ółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

Bardziej szczegółowo

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE (wykład + ćwiczenia) ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja

Bardziej szczegółowo

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

Bardziej szczegółowo

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

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

Dobór parametrów algorytmu ewolucyjnego

Dobór parametrów algorytmu ewolucyjnego Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.

Bardziej szczegółowo

Metody Programowania

Metody 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ółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Algorytmy Genetyczne Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Metody heurystyczne Algorytm efektywny: koszt zastosowania (mierzony

Bardziej szczegółowo

Równoważność algorytmów optymalizacji

Równoważność algorytmów optymalizacji Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

ALGORYTMY 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ółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania 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ółowo

Badania algorytmów heurystycznych dla połaczeń rozgałęźnych w sieciach pakietowych

Badania algorytmów heurystycznych dla połaczeń rozgałęźnych w sieciach pakietowych POLITECHNIKA POZNAŃSKA WYDZIAŁ ELEKTRONIKI I TELEKOMUNIKACJI Katedra Sieci Telekomunikacyjnych i Komputerowych Autoreferat rozprawy doktorskiej Badania algorytmów heurystycznych dla połaczeń rozgałęźnych

Bardziej szczegółowo

Badania 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 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ółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄ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ółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia 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ółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Rozwiązywanie problemów-i Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Rozwiązywanie problemów Podstawowe fazy: Sformułowanie celu -

Bardziej szczegółowo

Wielokryteriowa optymalizacja liniowa

Wielokryteriowa optymalizacja liniowa Wielokryteriowa optymalizacja liniowa 1. Przy decyzjach złożonych kierujemy się zwykle więcej niż jednym kryterium. Postępowanie w takich sytuacjach nie jest jednoznaczne. Pojawiło się wiele sposobów dochodzenia

Bardziej szczegółowo

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

OSTASZEWSKI 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ółowo

Analiza stanów gry na potrzeby UCT w DVRP

Analiza stanów gry na potrzeby UCT w DVRP Analiza stanów gry na potrzeby UCT w DVRP Seminarium IO na MiNI 04.11.2014 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP DVRP na potrzeby UCB Analiza

Bardziej szczegółowo

Algorytmiczna teoria grafów Przepływy w sieciach.

Algorytmiczna teoria grafów Przepływy w sieciach. Algorytmiczna teoria grafów Sieć przepływowa Siecią przepływową S = (V, E, c) nazywamy graf zorientowany G = (V,E), w którym każdy łuk (u, v) E ma określoną przepustowość c(u, v) 0. Wyróżniamy dwa wierzchołki:

Bardziej szczegółowo

Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych

Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych Politechnika Poznańska Wydział Elektroniki i Telekomunikacji Katedra Sieci Telekomunikacyjnych i Komputerowych Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena

Bardziej szczegółowo

Struktury 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 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ółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

Ekonometria - ćwiczenia 10

Ekonometria - ćwiczenia 10 Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012 Wprowadzenie Optymalizacja liniowa Na

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Minimalne drzewa rozpinające

Minimalne 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ółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

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

Algorytmy 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ółowo

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne

Bardziej szczegółowo

Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych

Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych Wielokryterialne harmonogramowanie portfela projektów Bogumiła Krzeszowska Katedra Badań Operacyjnych Problem Należy utworzyć harmonogram portfela projektów. Poprzez harmonogram portfela projektów będziemy

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja 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ółowo

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolution strategies)

Strategie ewolucyjne (ang. evolution strategies) Strategie ewolucyjne (ang. evolution strategies) 1 2 Szybki przegląd Rozwijane w Niemczech w latach 60-70. Wcześni badacze: I. Rechenberg, H.-P. Schwefel (student Rechenberga). Typowe zastosowanie: Optymalizacja

Bardziej szczegółowo

Routing. mgr inż. Krzysztof Szałajko

Routing. mgr inż. Krzysztof Szałajko Routing mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci Wersja 1.0

Bardziej szczegółowo

Algorytmy ewolucyjne

Algorytmy ewolucyjne Algorytmy ewolucyjne Dr inż. Michał Bereta p. 144 / 10, Instytut Modelowania Komputerowego mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl Problemy świata rzeczywistego często wymagają

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania

Bardziej szczegółowo

Algorytmy ewolucyjne `

Algorytmy ewolucyjne ` Algorytmy ewolucyjne ` Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne Zarys historyczny Alan Turing, 1950 Nils Aall

Bardziej szczegółowo

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)

Bardziej szczegółowo

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Adam Stawowy Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach Summary: We present a meta-heuristic to combine Monte Carlo simulation with genetic algorithm for Capital

Bardziej szczegółowo

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie algorytmów mrówkowych w dynamicznym problem Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 14 czerwca 2013 Przedmiot i cele pracy dyplomowej

Bardziej szczegółowo

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Algorytmika Problemów Trudnych

Algorytmika 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ółowo

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

Algorytmy 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ółowo

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie 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ółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

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

Modele 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ółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery 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ółowo

Algorytmy ewolucyjne. wprowadzenie

Algorytmy ewolucyjne. wprowadzenie Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i

Bardziej szczegółowo

RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka

RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka Prof. dr hab. inż. Wojciech Kabaciński Katedra Sieci Telekomunikacyjnych i Komputerowych Politechnika Poznańska Poznań, dnia 10 maja 2010 r. RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka

Bardziej szczegółowo

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 1: wprowadzenie + algorytmy genetyczne Plan wykładów 1. Wprowadzenie + algorytmy genetyczne 2. Metoda przeszukiwania tabu 3. Inne heurystyki 4. Jeszcze o metaheurystykach

Bardziej szczegółowo

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Optymalizacja optymalizacji

Optymalizacja optymalizacji 7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja

Bardziej szczegółowo

Standardowy algorytm genetyczny

Standardowy algorytm genetyczny Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria

Bardziej szczegółowo

Wyznaczanie optymalnej trasy problem komiwojażera

Wyznaczanie optymalnej trasy problem komiwojażera Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji

Bardziej szczegółowo

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,

Bardziej szczegółowo

Algorytmy genetyczne (AG)

Algorytmy genetyczne (AG) Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,

Bardziej szczegółowo

Znajdowanie skojarzeń na maszynie równoległej

Znajdowanie skojarzeń na maszynie równoległej 11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia

Bardziej szczegółowo

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia

Bardziej szczegółowo

WYKŁAD 9 METODY ZMIENNEJ METRYKI

WYKŁAD 9 METODY ZMIENNEJ METRYKI WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać

Bardziej szczegółowo

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne dr hab. inż. Andrzej Obuchowicz, prof. UZ Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski A. Obuchowicz: MSI - algorytmy ewolucyjne

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody 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ółowo

10. Wstęp do Teorii Gier

10. Wstęp do Teorii Gier 10. Wstęp do Teorii Gier Definicja Gry Matematycznej Gra matematyczna spełnia następujące warunki: a) Jest co najmniej dwóch racjonalnych graczy. b) Zbiór możliwych dezycji każdego gracza zawiera co najmniej

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykł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ółowo