Teoretyczne podstawy różniczkowej metody ewolucji
Metoda ewolucji różnicowej jest jedną z metod modelowania ewolucyjnego, mającą na celu rozwiązanie problemu optymalizacji wielowymiarowej.
Metoda ewolucji różnicowej jest jedną z metod modelowania ewolucyjnego, mającą na celu rozwiązanie problemu optymalizacji wielowymiarowej. Zgodnie z klasyfikacją metod optymalizacji należy do klasy metod stochastycznych, ponieważ wykorzystuje generator liczb losowych w poszukiwaniu rozwiązania. Ponadto wykorzystuje pewne pomysły algorytmy genetyczne , ale w przeciwieństwie do nich, nie wymaga pracy ze zmiennymi w kodzie binarnym.
Metoda ewolucji różnicowej jest metodą bezpośredniej optymalizacji, czyli w trakcie swojej pracy wymagana jest tylko kalkulacja wartości funkcji celu (kryterium optymalizacji), ale nie jej pochodnych. Ogólnie rzecz biorąc, funkcje celu zoptymalizowane przy użyciu tej metody mogą być nieróżniowalne, nieliniowe, wieloskładnikowe oraz z bardzo dużą liczbą zmiennych. Metoda jest łatwa do wdrożenia i użycia i jest łatwo równoległa.
Ewolucja różnicowa została wynaleziona przez Rainera Storna i Kennetha Price'a, aw 1995 r. Została po raz pierwszy opublikowana przez nich.
Różnicowy algorytm ewolucji
1. Inicjalizuje zbiór wektorów losowych, zwanych generacjami, reprezentujących możliwe rozwiązania problemu optymalizacji. Liczba wektorów w każdym pokoleniu jest taka sama i jest jednym z ustawień metody.
2. W każdej epoce procesu ewolucyjnego algorytm generuje nową generację wektorów, losowo łącząc ze sobą wektory poprzedniej generacji.
Generowanie wektorów nowej generacji jest następujące. Dla każdego wektora Ze starej generacji ( wektor bazowy ) wybierane są trzy różne losowe wektory. również wśród wektorów starego pokolenia, z wyjątkiem samego wektora a tak zwany wektor zmutowany jest generowany przez relację:
gdzie φ jest jednym z ustawień metody, która charakteryzuje maksymalną możliwą odległość, o jaką obszar poszukiwań optimum o jedną zmienną może rozszerzać się dla jednej epoki ewolucyjnej - dodatnia stała rzeczywista w przedziale ( φ ≤ 2,0).
3. Operacja zwrotnicy (crossover) jest przeprowadzana nad zmutowanym wektorem. Podczas tego niektóre współrzędne zmutowanego wektora są zastępowane odpowiednimi współrzędnymi z wektora bazowego. Każda współrzędna jest zastępowana pewnym prawdopodobieństwem ( ρ ), które jest również parametrem ustawienia różnicy ewolucji.
Wektor uzyskany po skrzyżowaniu nazywany jest wektorem testowym . Jeśli okaże się, że jest lepszy niż wektor bazowy (wartość funkcji celu uległa poprawie), to w nowej generacji wektor bazowy zostanie zastąpiony próbnym, w przeciwnym razie wektor bazowy zostanie zachowany w nowej generacji.
4. W każdej epoce procesu ewolucyjnego lub z określoną częstotliwością wyznaczany jest najlepszy wektor generacji w celu kontrolowania szybkości znalezienia optymalnego rozwiązania. Warunki zakończenia symulacji mogą być następujące:
- Określona liczba epok ewolucji została wyczerpana;
- określony limit fizycznego szacowanego czasu został wyczerpany;
- wartość kryterium optymalizacji dla wektora najlepszej generacji nie zmienia się w ramach danego limitu liczby epok ewolucji;
- Osiągnięto zadowalające kryterium optymalizacji.
W większości przypadków wykorzystania do rozwiązania problemu wielowymiarowej optymalizacji metody ewolucji różnicowej zaleca się, aby liczba osobników w populacji była około 10 razy większa od liczby zmiennych, które należy zoptymalizować. Wybór współczynnika φ i stałej zwrotnicy ρ jest przeprowadzany empirycznie, ponieważ w dużej mierze zależy od reliefu powierzchni kryterium optymalizacji.