II. Optymalizacja globalna Nieliniowe zadanie optymalizacji statycznej bez ograniczeń - nieliniowe algorytmy optymalizacji globalnej Wykład 12 dr inŝ. Ewa Szlachcic Wydział Elektroniki Kierunek: Automatyka i Robotyka Studia II stopnia magisterskie Do tej grupy naleŝą stochastyczne iteracyjne algorytmy przeszukiwania przestrzeni rozwiązań : metody przeszukiwania lokalnego metody przeszukiwania populacyjnego. SCHEMAT ALGORYTMU 1. Wygeneruj początkowy zbiór rozwiązań W i oceń kaŝde z nich. 2. Wygeneruj i oceń zbiór nowych kandydatów W drogą losowych zmian u wybranych osobników z W. 3. Zastąp pewne osobniki z W osobnikami z W i wróć do kroku 2, o ile nie jest spełniony warunek zatrzymania algorytmu. Idea: generuj i testuj Metody przeszukiwania lokalnego algorytm największego wzrostu Przeszukiwanie losowe generowanie nowego rozwiązania Ocena jakości rozwiązania 1. Kolejni kandydaci są niewielkimi modyfikacjami poprzednich kandydatów. 2. Nowy kandydat powstaje w drodze rekombinacji pewnych cech dwóch lub więcej poprzedników 3. Rodzice nowych kandydatów (generowanych za pomocą metody 1 lub 2) wybierani są drogą losowych i konkurencyjnych strategii, które faworyzują lepsze rozwiązania. Trzy zasady generowania nowych osobników 1. Wygeneruj i oceń początkowe aktualne rozwiązanie s. 2. Zmodyfikuj s otrzymując s i oceń s. 3. JeŜeli s jest lepsze niŝ s, podstaw, s s 4. Wróć do kroku 2, chyba Ŝe jest spełniony warunek zatrzymania algorytmu. W tym algorytmie wykorzystano pomysł (1): nowe potencjalne rozwiązania generowane są drogą niewielkich modyfikacji aktualnego rozwiązania. Podstawowa róŝnica uwidacznia się w kroku 3. Czasem moŝna zaakceptować rozwiązanie s nawet wtedy gdy jest ono gorsze niŝ s. Pozwala to uniknąć (choć nie zawsze) stabilizacji aktualnego rozwiązania w lokalnym optimum. Metody przeszukiwania populacyjnego 1. Techniki heurystyczne W populacyjnych metodach przeszukiwania stosuje się zamiast pojedynczego rozwiązania aktualnego populację (zazwyczaj róŝnych) rozwiązań aktualnych. Nowe rozwiązania uzyskiwane są drogą wyboru z populacji rodziców i odpowiedniego modyfikowania ich. Tutaj pomysł (2) odgrywa główna rolę: Nowy kandydat powstaje w drodze rekombinacji pewnych cech dwóch lub więcej poprzedników. Algorytmy lokalnego poszukiwania klasa algorytmów przybliŝonych, w których rozwiązanie problemu jest iteracyjnie poprawiane poprzez przeglądanie sąsiedztwa rozwiązania. Elementy algorytmu: o I Generowanie dopuszczalnego rozwiązania początkowego o II Wybór operatorów do przeglądania sąsiedztwa rozwiązania o III Kryteria akceptacji ruchu o IV Warunek stopu algorytmu. 1
Meta-heurystyki, inteligentne heurystyki Metaheurystyki Symulowane wyŝarzanie (ang. Simulated annealing SA ) Bazują na analogiach do procesów ze świata rzeczywistego (fizyki, biologii), które moŝna interpretować w kategoriach optymalizacji, a które często prowadzą do wyników bliskich optimum Przeszukiwanie Tabu (Przeszukiwanie z zakazami) (ang. Tabu Search TS) Systemy mrówkowe (ang. Ant systems AS- Ant Colony Optimization) Algorytmy ewolucyjne (ang. Evolutionary algorithms EA) Optymalizacja rojem cząstek (ang. Particle swarm optimization PSO) Optymalizacja z wykorzystaniem harmonii ( ang. Harmony search HS). Symulowane wyŝarzanie inspiracja z procesu wyŝarzania metalu (ang. Simulated annealing S.A.) Metoda symulowanego wyŝarzania- jako modyfikacja błądzenia przypadkowego Kawałek metalu jest podgrzewany do wysokiej temperatury, a następnie powoli schładzany. Powolne i regularne chłodzenie się metalu pozwala atomom na obniŝenie poziomu swej energii do momentu znalezienia się w stanie metastabilnym (o minimalnej energii). Gwałtowne ochłodzenie zamroziłoby atomy na przypadkowych pozycjach, na których aktualnie znajdowałyby się. Otrzymana w rezultacie struktura metalu jest silniejsza i bardziej stabilna. Zamiast minimalizowania energii bloku metalu (czy maksymalizowania jego wytrzymałości), program minimalizuje lub maksymalizuje funkcję celu związaną z problemem. Nowo wygenerowany punkt staje się rozwiązaniem zaniem roboczym, gdy poprawia on wartość funkcji celu, Nowo wygenerowany punkt staje się rozwiązaniem zaniem roboczym. Jego akceptacja następuje z prawdopodobieństwem równym r n s ( x ) f( x ) f p exp α =, dlat 0 T T oznacza temperaturę, x n, x s wektor rozwiązań nowy i stary. Odpowiednie dobranie sposobu obniŝania temperatury w kolejnych generacjach. Zbyt szybkie obniŝanie temperatury odbija się negatywnie na dokładności algorytmu, Zbyt powolne obniŝanie temperatury znacznie wydłuŝa czas obliczeń. Przeszukiwanie TABU (ang. Tabu search algorithm TS) Przeszukiwanie TABU (poszukiwanie z zakazami). Przeszukiwanie tabu jest wielokrotną procedurą stosowaną do rozwiązywania problemów optymalizacyjnych z zakresu kombinatoryki dyskretnej. Podstawową ideą przeszukiwania tabu jest eksploracja przestrzeni, stworzonej ze wszystkich moŝliwych do realizacji rozwiązań, za pomocą sekwencji ruchów. Wyjście z lokalnie optymalnego, ale nie optymalnego globalnie, rozwiązania i tym samym uniemoŝliwienie wykonania pewnych ruchów w danym przejściu klasyfikowane jest jako ruch niedozwolony, czy teŝ jako ruch tabu. Ruchy tabu to ruchy oparte na krótko- bądź długoterminowej historii sekwencji ruchów. Dla przykładu prosta implementacja moŝe zakwalifikować ruch jako tabu, jeŝeli ruch do niego przeciwny wykonany został ostatnio lub wykonywany był często. Jest to metoda pozwalająca uniknąć niebezpieczeństwa wielokrotnego powracania do tego samego rozwiązania. Algorytm jest wyposaŝony w pamięć dotychczas odwiedzanych punktów. Ponowne odwiedzenie punktów znajdujących się w pamięci tabu jest zakazane. Czasami, gdy uwaŝane jest to za korzystne, ruch tabu moŝe być uniewaŝniony. Takie kryterium aspiracyjne obejmuje równieŝ przypadek, kiedy przez zapomnienie, iŝ dany ruch jest tabu, dojdziemy do rozwiązania najlepszego z uzyskanych dotychczas. 2
Optymalne działanie kolonii mrówek systemy mrówkowe (ang. Ant Colony Optimization Ant systems AS) 1. Niektóre gatunki mrówek podczas wędrówki z mrowiska w kierunku źródła poŝywienia pozostawiają na podłoŝu substancję chemiczną zwaną feromonem. 2. Gdy proces ten powtarza się, feromon pozostawiany jest przez mrówki w coraz większych ilościach na coraz krótszych odcinkach. 3. Kiedy inne mrówki dojdą do punktu decyzyjnego, którym jest skrzyŝowanie wielu moŝliwych ścieŝek, dokonują wyboru trasy na podstawie ilości pozostawionej przez poprzedniczki substancji. Optymalne działanie kolonii mrówek systemy mrówkowe cd. Systemy mrówkowe są to systemy wielu przedstawicieli, w których zachowanie poszczególnego przedstawiciela inspirowane jest rzeczywistym zachowaniem mrówek. Wielokrotne uŝycie algorytmu pozwala na zidentyfikowanie trasy optymalnej. Algorytmy mrówkowe są najlepszym przykładem systemu bazującego na inteligencji masowej. Algorytmy mrówkowe wykorzystywane w programach komputerowych symulują pozostawianie feromonu wzdłuŝ wykorzystywanych ścieŝek. Wykorzystywane są do rozwiązywania problemów optymalizacji, począwszy od klasycznego problemu komiwojaŝera ( VRP, CVRP, VRPTW itp.), a skończywszy na wyznaczaniu tras w sieciach telekomunikacyjnych. 4. Po kilku chwilach juŝ prawie wszystkie mrówki uŝywają najkrótszej ścieŝki ze względu na najwyŝszą koncentrację znajdującego się na niej feromonu Algorytmy ewolucyjne (ang. Evolutionary algorithms EA) (populacyjne algorytmy przeszukiwania) Algorytm genetyczny Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Algorytmy immunogenetyczne Zasada ich działania opiera się na obserwacji praw natury i przeniesieniu ich na grunt informatyki. U podstaw algorytmów genetycznych znajduje się dobór naturalny oraz dziedziczność. Najlepiej przystosowane jednostki (niosące rozwiązania zbliŝone do właściwego) są powielane oraz krzyŝowane ze sobą w celu powielenia informacji. Tworzone kolejno populacje są wypełniane losowo wygenerowanymi osobnikami wraz z obliczoną funkcją przystosowania Proces sztucznej ewolucji Operatory genetyczne Reprodukcja skopiowanie do populacji tymczasowej T t losowo wybranych osobników z populacji bazowej. Proces losowania odbywa się ze zwracaniem. Osobniki o większej wartości funkcji przystosowania mają większe szanse reprodukcji. W wyniku reprodukcji w populacji tymczasowej znajdzie się większa liczba kopii lepiej przystosowanych osobników. Operator krzyŝowania - Osobnicy są kojarzeni w rozłączne pary. Parametr algorytmu prawdopodobieństwo krzyŝowania p c Osobniki potomne zastępują rodziców. Operator mutacji - Mutacja zmiana genotypu Osobniki poddane mutacji stanowią populację potomną O t. Parametr algorytmu prawdopodobieństwo mutacji p m Algorytm działa do chwili spełnienia warunku zatrzymania. Operacje genetyczne krzyŝowanie i mutacja. 3
Algorytm genetyczny operator krzyŝowania Algorytm genetyczny operator mutacji Kryteria zatrzymania algorytmu Monitorowanie rozwiązań generowanych przez algorytm ewolucyjny ZbieŜność algorytmów ewolucyjnych ma charakter asymptotyczny - tzn, gdy liczba generacji dąŝy do nieskończoności, prawdopodobieństwo osiągnięcia minimum globalnego wzrasta. DWIE GRUPY KRYTERIÓW: Kryteria zatrzymania, polegające na monitorowaniu wartości funkcji przystosowania najlepszego wygenerowanego osobnika, (kryterium maksymalnego kosztu, zadowalającego poziomu funkcji przystosowania, minimalnej szybkości poprawy). Kryteria zatrzymania, polegające na monitorowaniu zdolności algorytmu do eksploracji przestrzeni genotypów, co warunkuje odporność algorytmu na maksima lokalne. Kryterium maksymalnego kosztu K>K max Często rozumiane jako maksymalna dopuszczalna liczba generacji algorytmu.. x k Kryterium zadowalającego poziomu funkcji przystosowania dla - najlepszy dotychczas znaleziony osobnik. k f x f s Kryterium minimalnej szybkości poprawy jeŝeli w kolejnych ε iteracjach nie uda się poprawić wyniku algorytmu o więcej niŝ τ. f x( t+ τ) f x( t) ε, x (t) - najlepszy znaleziony osobnik w t iteracjach. Strategie ewolucyjne Strategie ewolucyjne cd. Strategia (1+1) zastosowanie mechanizmu adaptacji zasięgu mutacji zwanego regułą 1/5 sukcesów. Strategia ta posiada niewielka odporność na minima lokalne. Strategia (µ+λ)- z operatorami mutacji i krzyŝowania. Przetwarzanie bazowej populacji P t zawierającej µ osobników Z tej populacji generuje się populacje potomną O t, zawierającąλ osobników. Proces generowania (reprodukcja) wielokrotnie powtarza się losowanie ze zwracaniem osobnika spośród µ osobników z P t, a kopie umieszcza się w populacji pomocniczej T t. Operacje krzyŝowania i mutacji na populacji pomocniczej T t. Tak otrzymana populacja O t zostaje połączona ze starą populacją bazową P t. Nową populację bazową tworzy µ najlepszych osobników wybranych spośród (µ+λ) znajdujących się w złączeniu populacji P t O t Strategia (µ+λ) jest w duŝym stopniu odporna na minima lokalne oraz posiada samoczynną adaptację zasięgu mutacji. Strategia (µ+λ) działa wadliwie gdy w populacji znajdzie się osobnik o wyróŝniającej się wartości funkcji przystosowania, lecz zdecydowanie nieodpowiednich wartościach odchyleń standardowych. Wówczas powstaje niepoŝądane sprzęŝenie zwrotne, które utrudnia działanie algorytmu. Osobnik ten nie zostanie usunięty z populacji dopóty, dopóki nie zostanie znaleziony inny o większej wartości funkcji przystosowania. Osobnik ten wpływa na potomstwo, będąc osobnikiem rodzicielskim, a jego wartości odchyleń standardowych są w ten sposób powielane i utrwalane w populacji a to utrudnia znalezienie osobników lepszych. Strategia (µ, λ) Nowa populacja bazowa powstaje wyłącznie na podstawie λ osobników potomnych z populacji O t. Osobniki rodzicielskie ulegają zapomnieniu. a zatem kaŝdy osobnik Ŝyje dokładnie jedną generację. 4
Reguła 1/5 sukcesów Algorytmy immunogenetyczne Jeśli przez kolejnych k generacji liczba mutacji zakończonych sukcesem czyli F(Y t )>F(X t ) jest większa niŝ 1/5 ogólnej liczby wykonanych mutacji, to naleŝy zwiększyć zasięg mutacji stosując regułę: σ :=c i σ Gdy dokładnie 1/5 mutacji kończy się sukcesem, wartośćσnie wymaga modyfikacji, W przeciwnym wypadku naleŝy zawęzić zasięg mutacji według wzoru: σ :=c d σ oraz c d =0,82, c i =1/0,82 Algorytmy te wykorzystują własności układu odpornościowego. Układ ten to złoŝony system wyposaŝony w wiele mechanizmów umoŝliwiających rozwiązywanie specjalizowanych problemów. Jest to pozbawiony centralnego sterowania rozproszony układ posiadający zdolność uczenia się i zapamiętywania charakterystyk patogenów, z którymi zetknął się w czasie swojego funkcjonowania. Własności tych układów są wykorzystywane do zadań analizy danych, kompresji danych, uczenia maszynowego i optymalizacji. Algorytm rozwiązywania zadań programowania nieliniowego z ograniczeniami przy pomocy algorytmu immunogenetycznego Rozwiązania dopuszczalne to antygeny. Rozwiązania niedopuszczalne jako przeciwciała. Do zbioru antygenów wybiera się rozwiązania o największych wartościach funkcji celu (dla zadania maksymalizacji) najlepsze przystosowanie do środowiska. Przeciwciała są w stanie odkrywać istotne schematy obecne w zbiorze antygenów. Poddanie przeciwciał modyfikacjom moŝe doprowadzić do ich naprawienia (uzyska się dobrze dopasowane rozwiązanie które w znacznie mniejszym stopniu przekroczy ograniczenia). Optymalizacja Rojem Cząstek (ang. Particle swarm optimization PSO) Opierając się na zachowaniach stad ptaków i ławic ryb, technika ta przedstawia moŝliwe rozwiązania jako cząsteczki lecące jak rój przez obszar rozwiązań. Metoda rozpoznana w 1995 r. przez dr E. Eberhart a i dr J. Kennedy ego. Podobnie jak stado ptaków, rój podąŝa za przywódcą, bieŝącym, najlepszym znanym rozwiązaniem, przyspieszając i zmieniając kierunek, gdy lepsze rozwiązanie zostanie znalezione. Badania nad tymi systemami pokazały, Ŝe optymalizacja rojem cząstek moŝe skuteczniej od innych technik znaleźć lepsze rozwiązanie złoŝonych problemów. Optymalizacja z wykorzystaniem harmonii (ang. Harmony Search Optimization HSO) Algorytm HS naleŝy do grupy algorytmów meta-heurystycznych, opracowany przez Zong Woo Geem w roku 2001. Pamięc harmonii HM Pozostając przy analogii do zespołu muzycznego pamięć harmonii moŝna określić jako zbiór o ustalonym rozmiarze (oznaczanym HMS, ang. harmony memory size), zawierający harmonie będące, zdaniem muzyków, najlepsze z dotychczas stworzonych. Wykorzystuje podobieństwa procesu jazzowej improwizacji do procesu poszukiwania globalnego optimum w zadaniach optymalizacji Jazzowa improwizacja poszukuje najlepszego stanu harmonii (fantastic harmony), określanego jako estetyczna estymacja procesu, właśnie tak jak algorytm optymalizacji poszukuje najlepszego stanu (globalnego optimum), określanego jako badanie wartości funkcji celu Estetyczna estymacja stanowi zbiór tonów, granych przez instrument muzyczny, właśnie tak jak określenie wartości (ewaluacja) funkcji celu jest realizowane z wykorzystaniem zbioru wartości zmiennych decyzyjnych. KaŜdemu członkowi zespołu odpowiada jedna zmienna decyzyjna. Oznacza to, Ŝe zakres tonalny instrumentu tego muzyka odwzorowany jest w zbiór wartości zmiennej decyzyjnej mu przyporządkowanej. Jednej harmonii (współdźwiękowi stworzonemu przez cały zespół) odpowiada jedno rozwiązanie problemu. KaŜda harmonia ma przyporządkowaną subiektywną ocenę zespołu. Ocenie tej odpowiada wartość funkcji celu dla danego rozwiązania. Pamięć zawiera zbiór rozwiązań, dla których wartości funkcji celu są najlepsze spośród wszystkich wygenerowanych do tej pory rozwiązań. Generacja nowego rozwiązania prowadzona jest na bazie rozwiązań zawartych w pamięci i jest analogiczna do improwizacji nowej harmonii. 5
Zasady procesu generacji kolejnego rozwiązania na bazie HM, czyli odpowiednika improwizacji nowej harmonii. Obszary podjęcia decyzji o zastosowaniu reguł wyboru wartości wchodzącej do nowo tworzonego rozwiązania Dwa parametry decydujące o sposobie wyboru zmiennej decyzyjnej, wchodzącej do nowego rozwiązania: HMCR - (ang. harmony memory consideration ratio) - współczynnik wyboru tonu z pamięci oraz PAR (ang. pitch adjustment ratio) - współczynnik dostosowania tonu. Reguły wyboru zmiennych decyzyjnych: 1.Wartość zmiennej decyzyjnej jest wybierana ze zbioru wartości, które przyjmuje ta zmienna w rozwiązaniach utrzymywanych w HM ta operacja wykonywana jest z prawdopodobieństwem równym HMCR: p(d1)=hmcr 2.Wartość zmiennej decyzyjnej jest losowana z całego dopuszczalnego zbioru wartości tej zmiennej z prawdopodobieństwem (1-HMCR): p(d2)=1-hmcr 3.Jeśli zmienna została ustalona na podstawie reguły 1, jest ona modyfikowana (dostosowywana) z prawdopodobieństwem równym PAR, co oznacza, Ŝe reguła ta stosowana jest z prawdopodobieństwem równym HMCR*PAR: p(d3)=hmcr*par Kryterium stopu algorytmu - dopuszczalna liczba iteracji NI (ang. number of improvisations). Prawdopodobieństwa wyboru reguł moŝna zdefiniować następująco: Reguła 1 : P(D1) = HMCR Reguła 2 : P(D2) = 1 HMCR Reguła 3 : P(D3) = HMCR * PAR Modyfikacja w regule 3 polega na dodaniu do wartości ustalonej zgodnie z regułą 1 składnika α przy czym α=u[-b;b] gdzie b jest ustalonym parametrem algorytmu. U[-b;b] jest liczbą wylosowaną za pomocą generatora licz pseudolosowych o rozkładzie jednostajnym na przedziale [-b;b]. Diagram decyzyjny dla procedury optymalizacyjnej opartej na algorytmie HS Krok 1: - inicjalizacja parametrów (HMS, HMCR, PAR, b, NI) Nie Krok 2 : - inicjalizacja HM - sortowanie HM według rosnących wartości ocen rozwiązań Krok 3 : - improwizacja nowego rozwiązania na podstawie HM, parametrów algorytmu oraz reguł wyboru Przykład optymalizacja funkcji Geem a - dwóch zmiennych za pomocą algorytmu HS 2 4 1 6 2 4 f ( x) = 4x1 2.1x1 + x1 + x1x2 4x2 + 4x2 min 3 2 minima zlokalizowane są w punktach x = (-0,08984; 0,71266) oraz x = (0,08984; - 0,71266), przy czym f(x ) = f(x ) = -1,0316285. Zawartość pamięci harmonii algorytmu HS dla zadania minimalizacji funkcji 2 zmiennych po inicjalizacji - rozwiązania początkowe wybrane całkowicie losowo Tak h STOP Krok 5 : Spełniony jest warunek zatrzymania algorytmu? Nie Krok 4 : - modyfikacja zawartości pamięci Nowe rozwiązanie jest lepsze od najgorszego z zawartych w pamięci? Tak Harmonia x1 x2 f(x) 1 3,18-0,40 169,95 2-6,60 5,08 26274,83 3 6,66 7,43 37334,24 4 6,76 8,32 46694,70 5-7,58 5,56 60352,77 6 7,76 4,70 67662,40 7-8,25 2,75 95865,20 8-8,30 8,53 120137,09 9-9,01-8,05 182180,00 10-9,50 3,33 228704,72 Parametry algorytmu HS: HMS = 10 HMCR = 0.85 PAR = 0.45 Ilustracja wyboru reguł decyzyjnych Ustalono nowe rozwiązanie w postaci: rozwiązania x*=(3,183; 8,666) wartość funkcji celu f(x*)=22454,67. NaleŜy wstawic na pozycję 2 a najgorsze rozwiązanie nr 10 wyrzucic. Zawartośc HM po 4870 iteracjach: Harmonia x1 x2 f(x) 1 0,08984-0,71269-1,0316285 2 0,09000-0,71269-1,0316284 3 0,09000-0,71277-1,0316283 4 0,09013-0,71269-1,0316281 5 0,08951-0,71269-1,0316280 6 0,08951-0,71277-1,0316279 7 0,08951-0,71279-1,0316278 8 0,09628-0,71269-1,0316277 9 0,08980-0,71300-1,0316275 10 0,09000-0,71300-1,0316274 Zastosowania algorytmu HS do zadań praktycznych - bez ograniczeń i z ograniczeniami 1. Projektowanie sieci wodociągowych - sieci wodociągowe duŝych miast : Hanoi, Nowego Jorku, GoYang oraz BakRyun (Korea Płd.). HS dał najlepsze rezultaty w porównaniu ze strategią ewolucyjną oraz algorytmem symulowanego wyŝarzania. 2. Planowanie tras zadania klasy VRP Vehicle Routing Problem 3. Projektowanie konstrukcji kratownicowych 4. Optymalizacja konstrukcji cylindrycznych i połączeń spawanych. 6