• Nie Znaleziono Wyników

Algorytmy ewolucyjne

W dokumencie Index of /rozprawy2/10700 (Stron 49-57)

3.7 Algorytmy niedeterministyczne

3.7.2 Algorytmy ewolucyjne

Techniki ewolucyjne w rozwiązywaniu zagadnień optymalizacji globalnej są dziś bardzo często używanymi metodami obliczeniowymi. Dzieje się tak, pomimo te-go, że nie mają one ciągle ”solidnych podstaw matematycznych”. Techniki te mają bardzo istotną zaletę - pozwalają uzyskać rozwiązania niezwykle złożonych problemów w dość łatwy sposób. Liczba udanych aplikacji tych technik oblicze-niowych przyczyniła się do akceptacji ich przez środowiska naukowe i inżynierskie. Początki algorytmów ewolucyjnych sięgają lat 60-tych. Pierwsze prace mówiące o niedeterministycznym podejściu do zagadnień optymalizacji to przede wszyst-kim prace Hollanda [43], Fogela [22], Rechengerga [68] czy Schwefela [70]. Jed-nak powszechny sceptycyzm towarzyszący tym probabilistycznym podejściem do zagadnień optymalizacji, powodował, że były one lekceważone aż do końca lat 80-tych. Prace wspomnianych autorów ustaliły podstawy dla trzech podejść do obliczeń ewolucyjnych, którymi są:

X algorytmy genetyczne (J.H. Holland) X programowanie ewolucyjne (L.J. Fogel)

X strategie ewolucyjne (I. Rechenberg i H.P. Schwefel) Schemat algorytmu ewolucyjnego

Realizacja algorytmu ewolucyjnego sprowadza się do iteracyjnego przekształca-nia populacji osobników, reprezentujących zbiór (bieżących) rozwiązań danego

3.7. ALGORYTMY NIEDETERMINISTYCZNE 43

zadania. Ewolucyjny charakter tego procesu jest widoczny w sposobie genero-wania kolejnych populacji, w którym stosujemy tzw. operatory genetyczne oraz proces selekcji. Operatory genetyczne wprowadzają do systemu losową modyfi-kację oraz wymianę materiału genetycznego osobników, co pozwala na uzyskiwa-nie nowych rozwiązań. Selekcja natomiast steruje procesem tak, aby promować najlepsze osobniki, które są wyłaniane w oparciu o badanie stopnia ich przysto-sowania. Proces ewolucyjny działający według tego modelu powinien zapewnić pojawianie się w kolejnych populacjach osobników coraz lepiej przystosowanych, tzn. przybliżających coraz dokładniej rozwiązanie zadania (ekstremum globalne).

Rysunek 3.2: Ogólny przebieg algorytmu ewolucyjnego

Rys. 3.2 przedstawia przebieg algorytmu ewolucyjnego. Algorytm 9 przed-stawia ogólny schemat algorytmu ewolucyjnego [4]. Różni się on od schematu przedstawionego na rysunku warunkiem stopu definiującym moment przerwania ewolucji. Z reguły algorytm zostaje przerwany po wykonaniu ustalonej liczby ite-racji lub gdy nastąpi stagnacja procesu ewolucji (brak zmiany wartości funkcji celu) czy osiągnięcia oczekiwanego rozwiązania (z założonym wcześniej błędem).

W przedstawionym algorytmie Pk oznacza populację osobników z przestrzeni

potencjalnych rozwiązań, Tk oznacza część populacji wybraną metodą selekcji

bezpośrednio z populacji Pk, natomiast Qk oznacza zbiór osobników

utowrzo-nych w wyniku działania operacji ewolucyjutowrzo-nych (np. mutacji, krzyżowania) na

elementach zbioru Tk. Populacja składa się z µ osobników. Populacja

początko-wa, powstająca w trakcie inicjacji algorytmu, najczęściej składa się z osobników losowo wybranych z przestrzeni potencjalnych rozwiązań. W kroku k generowa-nych jest λ osobników potomgenerowa-nych, tworzących tzw. populację pośrednią

(ozna-czoną jako Qk). Następnie przeprowadzana jest selekcja, która polega na wyborze

µ osobników tworzących kolejną populację Pk+1 z populacji pośredniej Qk oraz

lub mniejsza od liczby osobników populacji Pk.

Algorytm 9 Ogólny schemat algorytmu ewolucyjnego

1: k:=0 2: inicjacja P0 3: ocena P0 4: repeat 5: Tk := selekcja ze zbioru Pk 6: Qk := operacje ewolucyjne na Pk 7: ocena Qk 8: Pk+1 := selekcja ze zbioru Pk∪ Qk 9: k := k + 1

10: until warunek stopu

Przedstawiony algorytm 9 obrazujący ogólny schemat algorytmu ewolucyj-nego jest obecnie adaptowany w wielu różnych wariantach. Różnice polegają na sposobie selekcji, krzyżowania i mutacji osobników. Szczegółowy opis różnorod-nych operatorów krzyżowania i mutacji można znaleźć w [37], [38].

Istotnym parametrem algorytmów ewolucyjnych jest sposób kodowania osob-ników. W przypadku algorytmów genetycznych często stosuje się reprezentację binarną. W algorytmach genetycznych dominującym operatorem genetycznym jest krzyżowanie. Polega ono na wymianie między osobnikami rodzicielskimi frag-mentów łańcuchów kodowych. Obecnie stosowanych jest bardzo wiele odmian operatora krzyżowania, ale najprostszą i najczęściej stosowaną formą jest tzw. krzyżowanie jednopunktowe. Sposób ten jest wzorowany na obserwowanym w przyrodzie procesie przemian w DNA, zachodzących podczas rozmnażania gene-ratywnego. Chromosomy rodzicielskie są rozcinane na dwa fragmenty. Następnie pierwszy fragment pierwszego chromosomu jest sklejany z drugim fragmentem drugiego chromosomu; podobnie pierwszy fragment drugiego chromosomu jest sklejany z drugim fragmentem pierwszego. Powstałe w ten sposób łańcuchy two-rzą chromosomy osobników potomnych (rysunek 3.3). Wszystkie chromosomy zawierają jednakową liczbę genów, dlatego też rozcięcie musi być wykonane w tym samym miejscu w obu chromosomach. Miejsce rozcięcia jest zwykle wybiera-ne losowo z rozkładem równomiernym. Podobnie można zastosować krzyżowanie dwupunktowe, gdzie zamiast jednego punktu rozcięcia losuje się dwa takie punkty i następnie wymienia odpowiednie części chromosomów.

Kolejnym operatorem genetycznym jest mutacja, która jest wykonywana dla każdego genu osobno. Podczas mutacji, która jest wykonywana z

prawdopodo-bieństwem pm, wartość genu zmienia się na przeciwną (z 0 na 1 lub 1 na 0). W

ostatnich latach pojawiły się prace pokazujące, że zastosowanie na większą skalę mutacji w początkowych fazach działania algorytmu genetycznego, może mieć bardzo korzystny wpływ na jego zbieżność [55].

któ-3.7. ALGORYTMY NIEDETERMINISTYCZNE 45

Rysunek 3.3: Krzyżowanie jednopunktowe w kodowaniu binarnym

ra jest operatorem stochastycznym. Wybór osobników tworzących kolejne popu-lacje, polega na ich wylosowaniu z prawdopodobieństwem zależnym od wartości funkcji przystosowania.

W przypadku gdy celem optymalizacji jest wyznaczenie optymalnych wartości

parametrów ze zbioru R kodowanie binarne może prowadzić do nieefektywnych

algorytmów. Poprawę jakości działania można uzyskać dzięki zastosowaniu kodo-wania liczbami rzeczywistymi. W przypadku takich algorytmów główna struktura i przebieg samego algorytmu jest identyczna, natomiast znacznej zmianie ulegają operatory ewolucyjne - krzyżowanie i mutacja.

Krzyżowanie może odbywać się na dwa sposoby. Pierwszy podobny jak przy krzyżowaniu jedno lub dwupunktowym polega na wymianie wartości (liczb rze-czywistych, nie bitów) w poszczególnych chromosomach. Drugi sposób zwany krzyżowaniem uśredniającym jest opisany równaniem:

{

x

i = xi+ λi(yi− xi)

y

i = yi+ λi(xi− yi) (3.35)

gdzie λi jest liczbą rzeczywistą wylosowaną z rozkładem równomiernym z

prze-działu [0, 1].

Wybór odpowiedniego osobnika w celu przeprowadzenia krzyżowania jest wy-konany z pewnym prawdopodobieństwem. Prawdopodobieństwo to jest tym więk-sze im lepwięk-sze jest przystosowanie danego osobnika (mniejsza wartość funkcji celu). Często stosowaną metodą selekcji jest metoda rankingowa. Poniżej zostanie opi-sana wersja metoda rankingowej zastosowana w niniejszej pracy. Osobniki z danej populacji zostają posortowane od najlepszego do najgorszego. Następnie losuje-my zgodnie z rozkładem równomiernym liczbę naturalną s z przedziału od 1 do

µ(µ + 1)/2, gdzie µ jest liczebnością populacji. Korzystając z zaproponowanego

przez autora wzoru (3.36) losuje się osobnika w celu poddania go krzyżowaniu. Na rys. 3.4 przedstawiono wykres opisywanej funkcji dla populacji składającej się z µ = 7 osobników. Łatwo zauważyć, że osobnik o większej wartości funkcji przystosowania ma większe szanse zostać wybranym do dalszej selekcji.

1 + Floor ( 1 2 + µ1 2 (2µ + 1)2− 8s + 8 ) (3.36)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 0 1 2 3 4 5 6 7 8 s nr osobnika

Rysunek 3.4: Wykres funkcji na podstawie której dokonywano selekcji dla przy-kładowej populacji składającej się z µ = 7 osobników

Mutacja polega na zaburzeniu wartości wylosowanego genu danego

chromo-somu. Wybrany gen zi poddany procesowi mutacji przyjmuje wartość:

z

i = zi+ ∆zi

gdzie ∆zi jest wartością perturbacji genu zi.

Zastosowano sposób mutacji pojedynczych genów w chromosomie zaczerpnię-ty z klasy algorytmów genezaczerpnię-tycznych Breeder Genetic Algorithm:

∆zi = (zi max− zi min)2−βbλi, (3.37)

gdzie zi max oraz zi minoznaczają maksymalne wartości parametrów z

przestrze-ni poszukiwań, βbjest parametrem określającym zakres mutacji. Im wspomniany

parametr jest większy tym zakres mutacji jest mniejszy.

0 50 100 150 200 250 300 350 400 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 k p m

Rysunek 3.5: Zmienne prawdopodobieństwo mutacji (pmax = 0.8, pmin = 0.2,

3.7. ALGORYTMY NIEDETERMINISTYCZNE 47

Decyzja czy dany osobnik (chromosom) z populacji zostanie poddany

muta-cji jest podejmowana z prawdopodobieństwem pm. Poprzez zmianę parametru pm

mamy możliwość wpływania na intensywność procesu mutacji w zależności od nu-meru generacji czy wartości funkcji przystosowania. Autor zaproponował funkcję, która uzależniała wartość prawdopodobieństwa mutacji od numeru generacji:

pm(k) = pmin+ (pmax− pmin) exp

( −β ( k pminkmax )2) (3.38)

gdzie: pm(k) jest wartością prawdopodobieństwa mutacji w k-tej generacji, pmin,

pmax są odpowiednio prawdopodobieństwem mutacji w początkowej i końcowej

fazie działania algorytmu, kmax jest liczbą określającą liczbę iteracji kończącą

działanie algorytmu oraz β jest parametrem określającym prędkość zmniejszania

wartości parametru pm wraz z numerem generacji. Rys. 3.5 przedstawia wykres

Optymalizacja rozkładu prądu w cewce

W tym rozdziale przedstawione zostaną wyniki obliczeń problemu syntezy po-la magnetycznego przedstawionego jako problem optymalizacji rozkładu prądów w cewce. Poszukiwany będzie taki rozkład prądów, który wytworzy pole magne-tyczne o zadanym z góry kształcie. Zostaną przedstawione oraz porównane wyniki obliczeń wykorzystujące metody optymalizacji przedstawione w rozdziałach po-przednich.

4.1 Opis rozważanych problemów

Rys. 4.1 przedstawia przekrój cewki w symetrii walcowej. Cewka ta składa się z

w× k = n pojedynczych zwojów (w oznacza liczbę zwojów w kierunku z,

na-tomiast k liczbę zwojów w kierunku r). Przypadek k = 1 będziemy nazywać przypadkiem jednowymiarowym (1D), zaś k > 1 przypadkiem dwuwymiarowym (2D). Założymy, że pole magnetyczne jest indukowane w środowisku magnetycz-nie liniowym, co oznacza, że przenikalność magnetyczna tego środowiska magnetycz-nie zale-ży od wartości pola. Zatem do wyznaczenia pola magnetycznego można stosować zasadę superpozycji. Zgodnie z tą zasadą, wypadkowe pole magnetyczne jest su-mą pól wytworzonych przez każdy ze zwojów. Będziemy rozważali dwa przypadki obszarów Γ, w których ma być wytworzone zadane pole magnetyczne. Pierwszym z nich jest kula umieszczona w środku układu współrzędnych. Promień kuli

wy-nosi rreq. Natomiast w drugim przypadku obszarem tym jest odcinek leżący na osi

z układu współrzędnych rozciągający się od punktu zreqmin do punktu zreqmax. Dla obszarów, gdzie ma być wytworzone zadane pole magnetyczne stosowany będzie indeks ”req”, natomiast indeksem ”c” oznaczono wszystkie parametry

do-tyczące cewki. Cewka ma długość określoną przez współrzędne zcmin oraz zcmax.

Będziemy zakładać, że środek cewki oraz obszaru, w którym ma być wytworzone zadane pole magnetyczne pokrywają się z początkiem układu współrzędnych, tzn.

zcmin =−zcmax, zreqmin =−zreqmax. W przypadku 1D uzwojenia mają promień 48

4.1. OPIS ROZWAŻANYCH PROBLEMÓW 49

rc= rcmin, zaś w przypadku 2D uzwojenia są równomiernie rozłożone pomiędzy

rcmin a rcmax.

Rysunek 4.1: Przekrój poprzeczny cewki walcowej składającej się z pojedynczych zwojów oraz obszaru Γ.

Najczęściej rozważanym problemem jest wyznaczenie takiego rozkładu prą-dów w cewce, aby otrzymać pole jednorodne. Bez straty ogólności można wtedy

założyć, że breq= µ0 T (µ0 – przenikalność magnetyczna próżni). Przeskalowanie

wartości prądów umożliwia uzyskanie pól o dowolnych wartościach. Problem wy-tworzenia jednorodnego pola magnetycznego w pewnym zadanym obszarze jest ważnym problemem aplikacyjnym, wykorzystywanym na przykład do konstrukcji urządzeń rezonansu magnetycznego, czy urządzeń wykorzystywanych w separacji magnetycznej. Parametry problemu optymalizacyjnego rozważanego w niniejszej pracy odpowiadają typowym wymiarom konstrukcyjnym dla urządzeń rezonan-su magnetycznego [81]. W pracy [80] została przedstawiona zależność wiążąca wymiary cewki z średnicą obszaru w którym generowane jest pole.

zcoil= 0.8dcoil+ 1.2dreq (4.1)

gdzie zcoil = zcmax−zcminjest długością cewki, dcoil= 2rcminśrednicą wewnętrzną

cewki, natomiast dreq = 2rreq jest średnicą obszaru, w którym generowane jest

pole. Zależność (4.1) została wskazana jako optymalne rozwiązanie dla osiągnię-cia jednorodnego pola przy minimalizacji powierzchni przekroju cewki. Tabela

4.1 przedstawia parametry rozważanych problemów. Cewka ma długość 1.02 m, średnicę wewnętrzną 60 cm, w przypadku 2D jej grubość wynosi 10 cm. Obszar Γ jest kulą o średnicy 45 cm lub odcinkiem o długości 90 cm. Użyte wymiary są standardowymi w przypadku urządzeń rezonansu magnetycznego do obrazowania całego ciała człowieka.

Tabela 4.1: Parametry cewki oraz obszaru Γ analizowanych problemów Wymiary cewki

rc= rcmin 30 cm

rcmax 40 cm

zcmax=−zcmin 51 cm

Obszar Γ będący kulą

rreq 22.5 cm

Obszar Γ będący odcinkiem

zreqmax=−zreqmin 45 cm

W dokumencie Index of /rozprawy2/10700 (Stron 49-57)

Powiązane dokumenty