Równoległe algorytmy genetyczne w optymalizacji kombinatorycznej POLITECHNIKA KRAKOWSKA ZAKŁAD AUTOMATYKI Równoległe algorytmy genetyczne w optymalizacji kombinatorycznej wykład monograficzny Kraków, 28 II 2005
Plan wykładu Przykładowy problem - kolorowanie grafu Podstawowe modele równoległych algorytmów genetycznych Operatory krzyżowania i mutacji Funkcje kosztu i dopasowania Program PGA_for_GCP Wyniki badań symulacyjnych Wnioski
Problem kolorowania grafu Def. Kolorowanie wierzchołków grafu G=(V, E) jest funkcją c: V -->N, spełniającą warunek, że każdej parze sąsiednich wierzchołków u,v є V przyporządkowane są różne kolory, t.j. {u, v} є E => c(u) != c(v). Problem kolorowania grafu jest NP-trudny.
Równoległe algorytmy genetyczne - kryteria klasyfikacji Liczba populacji : jedna, wiele Typy populacji : rozłączne, nakładające się Topologie populacji : różne modele grafowe Modele interakcji : izolacja, migracje, dyfuzja Rekombinacja , ocena osobników, selekcja : rozproszona / lokalna, scentralizowana / globalna Synchronizacja na poziomie iteracji: algorytm synchroniczny / asynchroniczny
Modele równoległych algorytmów genetycznych master-slave jedna globalna populacja, globalne operacje genetyczne, funkcje dopasowania obliczane przez procesory slave masywnie równoległy (komórkowy) statyczne nakładające się podpopulacje z lokalną strukturą, lokalne operacje genetyczne i ocena migracyjny (przypadkiem szczególny: wyspowy) statyczne rozłączne podpopulacje/wyspy, lokalne operacje genmetyczne i migracja hybrydowy (przyspieszenie S=SU*SL) kombinacja modelu migracyjnego na wyższym poziomie i dowolnego modelu na poziomie wyższym
Algorytm master–slave procedure pga_master_slave begin t := 0 ; initialization of P0 ; evaluation of P0 ; while (not termination condition) do Tt := reproduction of Pt ; transfer to slaves do in parallel Ot := genetic operations on Tt ; evaluation of Ot ; transfer to master end ; Pt+1 := succession ( Pt, Ot ) ; t := t+1; end; end P0 - initial population Pt - base population Ot - offspring population Tt - temporary population M S S S S
Algorytm migracyjny dla podpopulacji procedure: pga_for_subpopulation begin t = 0 ; initialization P0 ; evaluation P0 ; while (not termination condition) do Tt = reproduction of Pt ; Ot = genetic operations on Tt ; evaluation of Ot ; Pt+1 = succession (Pt, Ot) ; if (migration condition) then migration of selected individuals t = t + 1; end ; end P0 - initial population Pt - base population Ot - offspring population Tt - temporary population
Operatory mutacji i krzyżowania Sum-Product Partition Crossover (SPPX) nowy operator, w którym operacje sumy i iloczynu zbiorów są wykonywane na wybranych losowo blokach podziałów z chromosomów rodzicielskich, ponadto Prob(SUM) >Prob(PRODUCT) Conflict Elimination Crossover (CEX) nowy operator, kolory powodujące konflikty w każdym rodzicu są zastępowane przez kolory skopiowane z drugiego rodzica Union Independent Set Crossover (UISX) Gready Partition Crossover (GPX) Transposition Mutation First Fit Mutation
Krzyżowanie SPPX (I) suma wylosowanych bloków podziałów p ={1,8}{2,7} {3,10}{4,6}{5,9} r ={1}{2,8}{3,7,10}{4,9}{5,6} s ={1,8}{2,7}{3,4,9,10}{5}{6} t ={1}{2,8}{3,4,9,10}{5,6}{7}
Krzyżowanie SPPX (II) iloczyn wylosowanych bloków podziałów p={1,8}{2,7} {3,10} {4,6} {5,9} r={1}{2,8}{3,7,10}{4,9}{5,6} s={1,8}{2}{3,10}{4,6}{5,9}{7} t={1}{2,8}{3,10}{4,9}{5,6}{7}
Krzyżowanie CEX p = <5,2,3,4,1,4,2,5,1,3> r = <1,4,5,2,3,3,5,4,2,5> s = <5,2,5,2,1,3,2,5,1,5> t = <1,4,3,2,3,3,2,4,2,3>
Krzyżowanie UISX (I) (Dorne, Hao 1998) p={1,8}{2,7}{5,9} r= {1}{2,8}{4,9}{5,6} s={1,2,8} max IS = {1,8} 2 max iloczyny suma z {2,8} p={7} {5,9} r={4,9}{5,6} s={1,2,8}{4,5,9} 1 max iloczyn max IS = {4,9} suma z {5,9} p={7} r={6} s={1,2,8}{4,5,9}{7} max IS = {7} iloczyn = Φ suma z Φ p=Φ r={6} s={1,2,8}{4,5,9}{6}{7} iloczyn = Φ max IS = {6} suma z Φ
Krzyżowanie UISX (II) (Dorne, Hao 1998) p={1,8}{2,7} {5,9} r={1}{2,8}{4,9}{5,6} t={5,6,9} 1 max iloczyn max IS = {5,6} suma z {5,9} p={1,8}{2,7} r= {1} {2,8} {4} t={2,7,8}{5,6,9} max IS = {2,7} 1 max intersection suma z {2,8} p={1} r={1}{4} t={2,7,8}{4}{5,6,9} iloczyn = Φ max IS = {4} suma z Φ p={1} r={1} t={1}{2,7,8}{4}{5,6,9} max IS = {1} 1 max iloczyn suma z {1}
Krzyżowanie GPX (Galinier, Hao 1999) p ={1,8}{2,7}{3,10}{4,6}{5,9} r ={1}{2,8}{3,7,10}{4,9}{5,6} p ={1,8}{2,7}{3,10}{4,6}{5,9} r ={1}{3,10}{4,9}{5,6}{8} p ={1,8}{3,10}{5}{6} r ={1}{5,6}{8} p ={1,8} r = Φ s ={1,8}{2,7}{3,10}{4,9}{5,6} s ={1,8}{2}{3,7,10}{4,6}{5,9}
Operatory mutacji Transposition First Fit p = <5,2,3,4,1,4,2,5,1,3> r={1}{2,8}{3,7,10}{4,9}{5,6} s = <5,2,5,4,1,4,2,3,1,3> r={1,3}{2,7,8}{4,9,10}{5,6}
Funkcje kosztu i dopasowania Dla oceny zastosowano następującą funkcję kosztu : f(p) = Σq(u,v) + d + k, gdzie: q(u,v)=2, gdy c(u)=c(v), inaczej q(u,v)=0; d=1, gdy Σq(u,v)>0 , lub d=0, gdy Σq(u,v)=0; k – liczba użytych kolorów. W algorytmie PGA zastosowano proporcjonalną selekcję z funkcją dopasowania 1/ f(p).
Program symulacyjny PGA_for_GCP
Konfiguracja i dostrojenie PGA rozmiar globalnej populacji krzyżowanie : SPPX, CEX, UIS, GPX mutacja : Transposition, First Fit selekcja : proporcjonalna Model M-S Model wyspowy liczba procesorów slave liczba wysp schemat migracji rozmiar migracji częstość migracji
Badania symulacyjne wyznaczenie optymalnej liczby procesorów slaves w modelu M-S koszt najlepszego osobnika w funkcji czasu na izolowanych wyspach w modelu migracyjnym wpływ odstępu pomiędzy migracjami na koszt optymalnego rozwiązania wpływ schematu migracji na efektywność PGA mierzoną liczbą iteracji potrzebnych dla wyznaczenia optymalnego rozwiązania porównanie czterech operatorów krzyżowania w modelu migracyjnym
Czas obliczeń równoległych jako funkcja liczby procesorów w modelu master-slave
Koszt najlepszych rozwiązań na izolowanych wyspach w funkcji liczby iteracji
Koszt najlepszego rozwiązania jako funkcja częstości migracji
Efektywność schematów migracji w modelu wyspowym PGA graph vertices edges colors migration scheme best random none n David 87 406 11 77 121 114 Games120 120 638 9 41 64 72 Myciel7 191 2360 8 54 94 86 Queen5 25 160 5 46 78 75 Mulsol.i.4 185 3946 31 1004 1307 2680
Porównanie efektywności czterech operatorów krzyżowania
Wnioski (I) 1. W modelu Master-Slave istnieją różne optymalne liczby procesorów slave zapewniające minimum czasu obliczeń w systemie, maksymalne przyspieszenie (speedup) i maksymalne przyspieszenie na jednostkę kosztu (speedup over cost). 2. Po przekroczeniu pewnej liczby procesorów slave model Master-Slave staje się nieefektywny ze względu na koszt komunikacji i synchronizacji. 3. W modelu Master-Slave przestrzeń wyszukiwania jest taka sama jak w konwencjonalnym modelu GA. 4. W modelu wyspowym migracja jest zawsze lepsza niż izolacja i istnieje optymalny odstęp pomiędzy migracjami zapewniający najlepszą efektywność algorytmu mierzoną liczbą iteracji potrzebną dla wyznaczenia rozwiązania optymalnego.
Wnioski (II) 5. Dla wszystkich testowanych grafów migracja najlepszych osobników jest zawsze najbardziej efektywna. Migracja losowych osobników jest użyteczna tylko w przypadku dużych grafów jak mulsol.i.4. 6. Najlepszym operatorem krzyżowania okazał się CEX (5 najlepszych wyników), drugim jest UISX. Trzecie miejsce przypadło SPPX (1 najlepsze rozwiązanie - średnio więcej iteracji ale prosty operator), a ostatnie GPX, który jest relatywnie najbardziej złożony. 7. Mutacja First Fit w problemach kolorowania działa lepiej niż Transposition (najlepsza jest jej kombinacja z operatorem CEX ). 8. W modelu wyspowym przestrzeń wyszukiwania jest przeglądana efektywnie dzięki koewolucji w podpopulacjach i okresowej migracji.
Wnioski (III) 9. W modelu migracyjnym można zaobserwować szybszą konwergencję w kierunku rozwiązania optymalnego i algorytm lepiej unika maksimów lokalnych. 10. Rola migracji podczas wykonywania algorytmu zmienia się z mechanizmu zapewniającego szybkie ulepszenie populacji najgorszych wysp w początkowej fazie obliczeń na mechanizm intensywnej eksploracji najbardziej atrakcyjnych regionów przestrzeni rozwiązań w późniejszych fazach procesu koewolucji. 11. Korzyści modelu migracyjnego można uzyskać także w procesie symulowanej koewolucji w algorytmie sekwencyjnym.
Koniec i bomba, a kto czytał ten trąba ! 1, 2 1 wykład opracowany w Roku Gombrowiczowskim, AD 2004 2 powiedzenie służącej, Anieli ”Ciemnej”, którym Jaśniepanicz Witold zakończył Ferdydurke