II. Optymalizacja globalna. Metody optymalizacji. dr inŝ. Ewa Szlachcic

Podobne dokumenty
Teoria i metody optymalizacji

Technika optymalizacji

Technika optymalizacji

Strategie ewolucyjne (ang. evolu4on strategies)

Optymalizacja. Wybrane algorytmy

Algorytm genetyczny (genetic algorithm)-

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Optymalizacji: Przeszukiwanie z listą tabu

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy metaheurystyczne podsumowanie

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

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

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

Algorytmy genetyczne w optymalizacji

Techniki optymalizacji

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

Problemy metody gradientowej

SZTUCZNA INTELIGENCJA

Algorytmy ewolucyjne 1

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

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

Algorytmy ewolucyjne `

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

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

Strategie ewolucyjne (ang. evolution strategies)

Dobór parametrów algorytmu ewolucyjnego

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Metody Programowania

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

Zadania laboratoryjne i projektowe - wersja β

SZTUCZNA INTELIGENCJA

Techniki optymalizacji

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Wstęp do Sztucznej Inteligencji

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Optymalizacja ciągła

Wybrane podstawowe rodzaje algorytmów

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

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

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

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

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Techniki optymalizacji

Metody przeszukiwania

6. Klasyczny algorytm genetyczny. 1

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

Dr. inŝ. Ewa Szlachcic Katedra Automatyki, Mechatroniki i Systemów Sterowania. Przykładowe zadania optymalizacji nieliniowej bez ograniczeń

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

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

Optymalizacja. Przeszukiwanie lokalne

ALHE. prof. Jarosław Arabas semestr 15Z

Optymalizacja. Przeszukiwanie tabu

Obliczenia ewolucyjne - plan wykładu

Generowanie i optymalizacja harmonogramu za pomoca

Problem Komiwojażera - algorytmy metaheurystyczne

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

Algorytmy ewolucyjne optymalizacji wielokryterialnej sterowane preferencjami decydenta

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Mrówka Pachycondyla apicalis

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

Programowanie genetyczne, gra SNAKE

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

Techniki optymalizacji

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Algorytmy genetyczne (AG)

Heurystyki. Strategie poszukiwań

Algorytmy zrandomizowane

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Optymalizacja. Przeszukiwanie tabu

Optymalizacja. Symulowane wyżarzanie

Przegląd metod optymalizacji wielowymiarowej. Funkcja testowa. Funkcja testowa. Notes. Notes. Notes. Notes. Tomasz M. Gwizdałła

Algorytmy genetyczne

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Programowanie liniowe metoda sympleks

Metody Rozmyte i Algorytmy Ewolucyjne

Uczenie sieci typu MLP

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

ALGORYTMY EWOLUCYJNE W ZASTOSOWANIU DO ROZWIĄZYWANIA WYBRANYCH ZADAŃ OPTYMALIZACJI1

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Algorytmy genetyczne

Algorytmy sortujące i wyszukujące

Algorytmy ewolucyjne. wprowadzenie

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Równoważność algorytmów optymalizacji

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Transkrypt:

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