) ,..., , ( x x x = x )(x f ) ,..., ,( 2 x xx = x
Transkrypt
) ,..., , ( x x x = x )(x f ) ,..., ,( 2 x xx = x
ZASTOSOWANIE ALGORYTMÓW GENETYCZNYCH DO ESTYMACJI PARAMETRÓW MODELU MATEMATYCZNEGO SILNIKA INDUKCYJNEGO ESTIMATION OF PARAMETERS OF THE INDUCTION MOTOR MODEL USING GENETIC ALGORITHMS Grzegorz Paweł Korbaś Politechnika Opolska Streszczenie W artykule przedstawiono analizę możliwości zastosowania algorytmów genetycznych do estymacji parametrów modelu silnika indukcyjnego. Głównym celem pracy była analiza efektywności różnych odmian algorytmów genetycznych, wraz z różnymi zestawami parametrów do estymacji parametrów. Na wstępie pracy omówiono ideę algorytmów genetycznych oraz zaprezentowano wybrane operatory genetyczne. W dalszej części pracy przedstawiono wybrany model silnika indukcyjnego o dwóch klatkach zastępczych w wirniku. Dokonano szeregu prób estymacji parametrów przedstawionego modelu analizując efektywność poszczególnych algorytmów genetycznych z różnymi zestawami parametrów. 1. WSTĘP W diagnostyce, projektowaniu, symulacji lub sterowaniu niezwykle istotne jest zagadnienie estymacji parametrów modeli matematycznych. Proces estymacji parametrów jest w zasadzie tożsamy z poszukiwaniem takiego punktu x min ( x1 min , x 2 min ,..., x N min ) (1) w N-wymiarowej przestrzeni parametrów, dla którego pewna funkcja wielu zmiennych o wartościach rzeczywistych (funkcja celu) f (x) , gdzie x ( x1 , x 2 ,..., x N ) (2) posiada wartość minimalną. Postać funkcji celu może być różna – zazwyczaj jest ona miarą odchylenia wartości pomiarowych od wartości otrzymanych (dla danego zestawu parametrów) z modelu matematycznego. Szybkość i dokładność estymacji zależy zatem od używanej metody minimalizacji funkcji wielu zmiennych. Klasyczne podejście wiąże się z użyciem gradientowych lub bezgradientowych metod minimalizacji. Metody te charakteryzują się zazwyczaj dużą zbieżnością dużą oraz dokładnością uzyskiwanych wyników, niestety w przypadku funkcji celu o wielu minimach lokalnych okazują się często nieefektywne. Rozważane w tej pracy algorytmy genetyczne stanowią alternatywne podejście oparte na procesach występujących w naturze – na ewolucji. Algorytmy genetyczne zazwyczaj doskonale radzą sobie z problemem minimum lokalnych i niejednokrotnie charakteryzują się dużą zbieżnością. Próby estymacji parametrycznej dla wybranego modelu silnika przy użyciu gradientowych i bezgradientowych metod minimalizacji były już dokonywane i zostały przedstawione w [3, 4]. W ramach tej pracy dokonywana jest analiza przydatności algorytmów genetycznych do estymacji parametrów modelu matematycznego silnika indukcyjnego. Algorytmy genetyczne, z różnymi operatorów, zestawami zostały zaimplementowane w środowisku programistycznym Borland Delphi. Implementacji dokonano tworząc klasy minimalizacji przy wykorzystaniu wskazówek dotyczących programowania obiektowego zawartych w [5]. W pierwszej części pracy omówiona zostaje idea algorytmów genetycznych i przykładowe operatory. Następnie wskazane zostają sposoby zwiększenia zbieżności algorytmów genetycznych oraz dokonywana jest analiza zbieżności algorytmów genetycznych w zależności od prawdopodobieństwa użycia różnych operatorów genetycznych dla wybranych funkcji testowych. W dalszej części pracy przedstawiony jest model matematyczny silnika indukcyjnego o dwóch klatkach zastępczych w wirniku w wersji uproszczonej do równań stanu ustalonego. Określona zostaje funkcja celu i zaprezentowane są wyniki estymacji parametrów tego modelu przy użyciu algorytmów genetycznych. 2. ALGORYTM GENETYCZNY I WYBRANE OPERATORY Sposób działania algorytmów genetycznych opiera się na procesach rządzących ewolucją. Jeśli dostępna jest pewna populacja osobników (zbiór możliwych rozwiązań), to w kolejnej iteracji z istniejącej populacji losowo tworzy się nową w ten sposób, że osobniki najlepsze mają większą szansę pojawienia się w niej. Oczywiście, w przypadku minimalizacji funkcji, osobnikami najlepszymi będą te, dla których wartość funkcji celu jest najmniejsza. Nowa populacja może różnić się rozmiarem od starej i może zawierać kilka kopii tego samego osobnika. W tak utworzonej nowej populacji można użyć operatorów genetycznych. Klasycznie używa się mutacji równomiernej i krzyżowania prostego. Ogólnie schemat algorytmu genetycznego można przedstawić w postaci następującego pseudokodu (na bazie [8]). 1. 2. 3. 4. 5. 6. 7. 8. t0 ustal populację P(t) oceń P(t) jeśli warunek końca jest spełniony to zakończ tt+1 wybierz P(t) z P(t-1) zmień P(t) za pomocą operatorów oceń P(t) i skok do punktu 4. Parametr t oznacza numer kolejnej iteracji. Warunek końca może mieć różną formę. Często koniec następuje, gdy w trakcie pewnej (wcześniej ustalonej) liczby iteracji nie zostanie znaleziony osobnik lepszy niż już znany. W ramach oceny populacji liczona jest wartość funkcji celu dla każdego osobnika i na podstawie uzyskanych wyników wyznaczane jest prawdopodobieństwo wejścia osobnika do kolejnej populacji. Tworzenie nowej populacji (selekcja) może mieć różną formę. Klasycznie szansa wejścia osobnika do nowej populacji jest wprost proporcjonalna do jego przystosowania i nie zakłada zachowywania najlepszego osobnika. Oznacza to, że choć średnio biorąc następuje poprawa to w kolejnej populacji najlepszy osobnik może okazać się gorszy niż w populacji wcześniejszej. Często jednak odchodzi się od formy klasycznej zachowując w różny sposób osobnika najlepszego. Użycie na powstałej populacji operatorów genetycznych uzależnione jest od prawdopodobieństwa użycia tych operatorów, które może być stałe lub też zmieniać się w kolejnych iteracjach. Istnieje bardzo wiele operatorów genetycznych. W ramach tej pracy analizowano operatory zaproponowane w [8], inne propozycje można znaleźć w [1, 2]. W poniższym opisie używane jest nazewnictwo przyjęte dla algorytmów genetycznych. Osobnik oznacza w tym przypadku wektor liczb rzeczywistych, natomiast gen oznacza liczbę rzeczywistą – jedną ze składowych tego wektora. Populację stanowi zatem zbiór wektorów – potencjalnych rozwiązań zagadnienia minimalizacji (estymacji). Przykładowo populację P o liczności POP składającą się z osobników O1, O2, ... OPOP, z których każdy ma K genów G1, G2, ..., GK można zapisać w postaci P=[O1, O2, ..., OPOP], gdzie Oi= [Gi1, Gi2, ..., GiK]. Standardowo używanymi operatorami są różne odmiany mutacji i krzyżowania. Mutacja jest nieodzowna, by wprowadzić do populacji osobniki o zupełnie nowych cechach. Operator krzyżowania jest odpowiedzialny za wymianę informacji pomiędzy osobnikami. Jednym z dwu klasycznych operatorów genetycznych jest mutacja równomierna. Jeśli osobnik jest wybrany do mutacji to spośród jego genów wybiera się jeden, który mutuje. Mutacja oznacza tu losowanie nowej wartości z dziedziny tego właśnie genu. Zbliżonym operatorem jest mutacja niejednorodna. Różni się ona tym, że nowa losowana wartość genu wraz z kolejnymi iteracjami ma coraz większe szanse być zbliżona do wartości genu przed zmutowaniem. Takie podejście umożliwia dokładniejsze dostrojenie lokalne w końcowej fazie minimalizacji. Odmienną propozycją mutacji jest mutacja brzegowa, w wyniku której gen może uzyskać jedynie graniczne wartości swej dziedziny. Operator ten może być użyteczny w sytuacjach, gdy poszukiwane minimum znajduje się na granicy obszaru dozwolonego, jednak jego użycie może spowodować szybką degenerację populacji do osobników o tych samych wartościach genów. Drugim klasycznym operatorem jest krzyżowanie proste. Dla dwóch wybranych osobników (rodziców) losowany jest indeks L genu, który stanowi tzw. linię rozcięcia. Tworzonych jest dwóch potomków w ten sposób, że pierwszy potomek ma L pierwszych genów od pierwszego rodzica a resztę od drugiego, natomiast drugi potomek ma L pierwszych genów od drugiego rodzica, a resztę od pierwszego. Krzyżowanie takie nazywane jest jednopunktowym, gdyż istnieje tylko jedna linia rozcięcia. Stosuje się również krzyżowanie o większej liczbie linii rozcięcia. Kolejnym operatorem krzyżowanie jest arytmetyczne, które z rodziców O1 i O2 tworzy potomków O1’ i O2’ zgodnie z zależnościami O1’=aO2+(1-a)O1 i O2’=aO1+(1-a)O2, gdzie a jest liczbą losową (lub z góry ustaloną) z przedziału od 0 do 1. Następny operator, krzyżowanie heurystyczne, jest operatora przykładem tworzącego osobnika „w obiecującym kierunku”. Dla dwu rodziców O1 i O2 gdzie O2 jest nie gorszy niż O1 tworzony jest tylko jeden potomek O’ zgodnie z zależnością O’=r(O2-O1)+O2, gdzie r jest liczbą losową z przedziału od 0 do 1. Operator ten może utworzyć osobnika z niedozwolonymi wartościami genów, wówczas można losować inną wartość liczby r lub uznać, że potomek nie został utworzony. Jest to przykład operatora, który próbuje ukierunkować poszukiwanie minimum, nie do końca zdając się na przypadek. 3. ANALIZA DOBORU OPERATORÓW DLA WYBRANYCH FUNKCJI TESTOWYCH W ramach badań testowano efektywność algorytmów genetycznych przy zastosowaniu niektórych ulepszeń i różnych prawdopodobieństw użycia operatorów. Przyjęto, że w algorytmie w rzeczywistych zastosowaniach za najbardziej kosztowne należy obliczeniowo uznać wyznaczenie wartości funkcji celu. Zatem słuszne wydaje się badanie zbieżności w funkcji ilości wywołań funkcji celu, a nie iteracji. Przeprowadzono szereg badań statystycznych dla prostych funkcji testowych. celu o ponad 90 %. Kolejne badania wykonywano na genetycznego bazie algorytmu zmodyfikowanego w opisany powyżej sposób. W dalszej części badań dokonano analizy efektywności genetycznego algorytmu w zależności od różnych prawdopodobieństw użycia operatorów genetycznych. Na wstępie założono jedynie używanie mutacji równomiernej i krzyżowania prostego. Analizowano szereg zestawów prawdopodobieństw wykorzystania tych parametrów dla różnych dokładności szukania minimum funkcji (3),(4) i (5), dla różnych rozmiarów populacji (POP) z zakresu 10-500. Badano średnią ilość wywołań funkcji celu konieczną do znalezienia minimum z zadaną dokładnością. stwierdzono, że Generalnie korzystne są wartości niewielkie prawdopodobieństwa mutacji równomiernej (pM) i krzyżowania prostego (pK). Przykładowe rezultaty przedstawia rysunek (1). 10 y ix i2 (3) y (1 x1 ) 2 100( x 2 x12 ) 2 (4) y i xi 2i cos( x i ) 2i (5) i 1 5 i 1 Funkcja (3) to zwykła forma kwadratowa dla 10 zmiennych, podczas gdy funkcja (4) jest znaną funkcją Rosenbrocka dwu zmiennych, niejednokrotnie wykorzystywaną do testów. Obydwie te funkcje mają jedno minimum. Funkcja pięciu zmiennych (5) charakteryzuje się wieloma minimami lokalnymi i jednym globalnym. Pierwsze badanie obejmowało wymuszenie zachowania najlepszego osobnika do kolejnej populacji. Zauważono, że zabieg ten średnio zwiększa zbieżność o 60 %. Stwierdzono też, że wiele osobników przechodzi do kolejnej populacji bez zmian i dla tych osobników nie jest potrzebne ponowne wyznaczanie wartości funkcji celu. Na bazie tej obserwacji dokonano modyfikacji algorytmu, co radykalnie zmniejszyło liczbę wywołań funkcji celu nie zmieniając oczywiście efektywności liczby w funkcji iteracji. Modyfikacja polegała na wprowadzeniu tablicy, za pomocą której śledzono zmiany populacji i stwierdzano, czy jest konieczne obliczanie wartości funkcji celu dla danego osobnika. Łącznie obydwa zabiegi polepszyły zbieżność algorytmu w zależności od liczby wywołań funkcji Rys.1. Zależność zbieżności algorytmu od prawdopodobieństw użycia mutacji równomiernej i krzyżowania prostego. POP=20. Najlepsze rezultaty uzyskiwano dla (pM=0,1; pK=0,1) oraz dla (pM=0,1; pK=0) oraz dla zestawów bliskich podanym. Wyniki te znacząco odbiegają od zaprezentowanych w [7], gdzie przedstawiono analizę zbieżności w funkcji liczby iteracji. W dalszej części pracy rozważano wykorzystanie pozostałych operatorów. Zauważono, że mutacja brzegowa w większości przypadków w znaczący sposób pogarsza efektywność algorytmu genetycznego, lecz gdy rozwiązanie leży na granicy obszaru dozwolonego to użycie tego operatora z niewielkim prawdopodobieństwem może przyspieszyć odszukanie minimum. Zauważono też, że dobre rezultaty daje zastąpienie krzyżowania prostego krzyżowaniem arytmetycznym. W sytuacji użycia jedynie dwu operatorów jednocześnie zestawienie krzyżowania arytmetycznego z mutacją równomierną okazało się najkorzystniejsze. Przeanalizowano zatem prawdopodobieństwa mutacji użycia równomiernej (pM) i krzyżowania arytmetycznego (pKA). Najlepsze rezultaty uzyskano dla wartości pM=0,2-0,5 i dla pAR=0,6-1. Przykładowe wyniki przedstawia rysunek (2). Rys.2. Zależność zbieżności algorytmu od prawdopodobieństw użycia mutacji równomiernej i krzyżowania arytmetycznego. POP=20. W końcowej fazie tej części badań analizowano sytuację użycia wszystkich sześciu operatorów jednocześnie szukając najlepszego zestawienia prawdopodobieństwa mutacji równomiernej (pM), niejednorodnej (pMN) i brzegowej (pMB), krzyżowania prostego (pK), arytmetycznego (pKA) i heurystycznego (pKH). W zasadzie nie dało się wskazać zestawów szczególnie efektywnych. Generalnie dobrze wypadały zestawy, w których pKA było w granicach 0,2-0,8; pK: 0-0,2; pKH: 0,2-0,4; pM: 0,05-0,3; pMN rzędu 0,1 i pMB najlepiej równe 0. Stanowczo najgorzej wypadały zestawy, w których było wysokie pMB lub pM równe 0. Analizowano też wpływ wielkości populacji na szybkość zbieżności. Stwierdzono, że warto używać populacji niezbyt licznych o rozmiarach rzędu 20-50 osobników. 4. BADANY SILNIK INDUKCYJNY ORAZ JEGO MODEL MATEMATYCZNY Istnieją różne modele silników indukcyjnych. W ramach pracy wykorzystany został model silnika indukcyjnego o dwóch klatkach zastępczych zaczerpnięty z [6], skąd pobrano również przy- kładowe charakterystyki pomiarowe. Są to charakterystyki statyczne I=f(s) oraz M=f(s), gdzie I – natężenie prądu stojana, M – moment elektromagnetyczny, s – poślizg. Dane pomiarowe zostały przedstawione w tabeli 1 (IN i MN oznaczają tu wartości znamionowe). Charakterystyki te dotyczą silnika SZJre-134t o mocy znamionowej 1000kW, napięciu znamionowym (uzwojenia stojana 6000V połączone w gwiazdę) i prędkości obrotowej 1490 obr/min. Tab.1. Statyczne charakterystyki silnika SZJre-134t M I s MN IN 1 1.3 5.43 0.9 1.31 5.32 0.8 1.34 5.27 0.7 1.35 5.22 0.6 1.37 5.1 0.5 1.39 4.98 0.4 1.4 4.8 0.3 1.43 4.64 0.2 1.45 4.4 0.15 1.48 4.25 0.1 1.73 3.95 0.09 1.8 3.85 0.08 1.97 3.75 0.07 2.09 3.63 0.06 2.2 3.48 0.05 2.34 3.25 0.04 2.37 2.95 0.03 2.26 2.55 0.02 1.96 2.05 0.01 1.34 1.35 W pełnej postaci model prezentowany jest przez układ równań różniczkowych. W przypadku stanu ustalonego, przy pewnych założeniach, model ten redukuje się do zwyczajnego układu równań, z którego łatwo wyprowadzić wzory na natężenie prądu stojana i moment elektromagnetyczny. M ( s) 3U s2 I (s) U s pRr 0 s( A 2 B 2 ) C2 D2 A2 B2 przy czym Rr R1 R2 ( R1 R2 ) ( R1 X 22 R2 X 12 ) s 2 ( R1 R2 ) 2 ( X 1 X 2 ) 2 s 2 Xr X 1 X 2 ( X 1 X 2 ) 2 s 2 R12 X 2 R22 X 1 ( R1 R2 ) 2 ( X 1 X 2 ) 2 s 2 (6) (7) wywołań funkcji celu dla wybranych konfiguracji algorytmu genetycznego. Starano się przedstawić przebiegi przeciętne dla dwu różnych rozmiarów populacji: POP=20 oraz POP=100. Jak już wcześniej zauważono populacje zbyt liczne charakteryzują się mniejszą zbieżnością. Ostatecznie w wyniku wielu estymacji otrzymano następujący zestaw parametrów rozważanego modelu silnika : R1=0,269 , R2=6,206 , X1=6,360 , X2=9,183 , Xs=1,284 . Xr Xm R D r sX m X E 1 s Xm R A Rs C r E s B X s X r E Rs D C 1 gdzie: Us – wartość skuteczna fazowego napięcia zasilania, p – liczba par biegunów, 0 – pulsacja napięcia zasilania, R1, R2, Rs – rezystancje klatek wirnika i uzwojenia stojana, X1, X2 – reaktancje synchroniczne klatek wirnika, Xm – reaktancja magnesowania, Xs – reaktancja stojana. W rozważanym przypadku nieznanymi parametrami były wielkości R1, R2, X1, X2 oraz Xs, natomiast pozostałe wartości były znane dzięki dostępnej informacji albo pomiarom. 5. Rys.3. Przykładowe zależności minimalnej wartości funkcji celu od liczby jej wywołań. ESTYMACJA PARAMETRÓW MODELU SILNIKA Dokonano szeregu prób estymacji szeregowej parametrów R1, R2, X1, X2 oraz Xs modelu matematycznego silnika opisanego równaniami (6) i (7). Minimalizowana funkcja celu miała postać sumy kwadratów odchyleń wartości pomiarowych od wartości obliczanych z równań (6), (7) dla danego punktu z przeszukiwanej przestrzeni parametrów. Na rysunkach 4 i 5 przedstawiono zestawienie charakterystyk otrzymanych z najlepszego z wyestymowanych zestawów parametrów z danymi pomiarowymi. Można zauważyć, że w założonych granicach możliwe było odszukanie zestawów parametrów, które doskonale oddają zarówno charakterystykę prądową jak i charakterystykę momentu elektromagnetycznego. f (x ) I p ( s ) I ( s , x) 2 M s p ( s ) M ( s, x) 2 (8) s gdzie x – wektor parametrów; s – poślizg; Ip, Mp – unormowane pomiarowe wartości natężenia prądu stojana i momentu elektromagnetycznego; I, M – unormowane wartości natężenia prądu stojana i momentu elektromagnetycznego otrzymane z użytego modelu silnika. Zamiast normowania wartości natężenia prądu stojana i momentu elektromagnetycznego można dokonać modyfikacji funkcji celu wprowadzając przed poszczególne sumy współczynniki wagowe. W ramach pracy próby takie były dokonywane. Otrzymane rezultaty pokrywały się z uzyskiwanymi dla funkcji celu (8). Założono że parametry silnika mogą przybierać wartości w granicach 0,01-10 Na rysunku 3 przedstawiono przykładowe zależności wartości funkcji celu dla najlepszego osobnika od liczby Rys.4. Zestawienie danych pomiarowych i otrzymanych z wyestymowanych parametrów dla momentu elektromagnetycznego. 4. 5. Rys.5. Zestawienie danych pomiarowych i otrzymanych z wyestymowanych parametrów dla natężenia prądu stojana. 6. 6. PODSUMOWANIE W pracy pokazano, że algorytmy genetyczne są przydatnym narzędziem do estymacji parametrów modelu matematycznego silnika indukcyjnego. Estymacja parametrów rozważanego modelu (6), (7) za pomocą metod gradientowych i bezgradientowych przedstawiona w [3,4] wykazywała się niejednokrotnie większą zbieżnością ale też napotykała na istotny problem „wpadania” w minima lokalne. Algorytmy genetyczne skutecznie rozwiązują problem optymalizacji globalnej, ale ich słabą stroną jest to, iż szybkość dostrojenia lokalnego opiera się na prawdopodobieństwie. Istnieje możliwość, że pojedyncza estymacja może trwać bardzo długo (sytuacje takie sporadycznie miały miejsce w ramach tej pracy). Obiecujące zatem wydają się próby poszukiwania algorytmu łączącego w sobie silne strony algorytmów genetycznych i gradientowych (bezgradientowych). Abstract The paper presents the analysis of usefulness of genetic algorithms in the estimation of parameters of the induction motor model. The chosen methods have been implemented in Borland’s Delphi. Statistical studies of genetic operators for chosen testing functions were done. In the paper the advantages as well as the problems of using genetic algorithms were presented. LITERATURA 1. J. Arabas, J. Tenniel: Wykłady z algorytmów ewolucyjnych, WNT, Warszawa 2001 2. D.E. Goldberg, K. Grygiel: Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1995 3. G.P. Korbaś: Minimalizacja funkcji wielu zmiennych w języku C++ przy użyciu 7. 8. biblioteki obiektowej TMINUIT – praca dyplomowa, Politechnika Opolska, Opole 2001 G.P. Korbaś, K. Macek-Kamińska: Badanie przydatności wybranych gradientowych i bezgradientowych metod minimalizacji do wyznaczania parametrów modelu matematycznego silnika indukcyjnego, XXXIX Seminarium Maszyn Elektrycznych, Gdańsk-Jurata 2003 K. Macek-Kamińska, P. Wach, M. Kamiński: Object oriented programming in estimation of the parameters of the non-linear dynamic system, 15th Interational Conference on Electrical Machines, ICEM 2002 K. Macek-Kamińska: Estymacja parametrów modeli silników matematycznych indukcyjnych i dwuklatkowych głębokożłobkowych, WSI, Opole 1992 M. Marcinkowska: Dobór operatorów operacji genetycznych i ich wartości a zbieżność algorytmu genetycznego, Warsztaty Algorytmów Genetycznych, Bielsko-Biała – Szyndzielnia, kwiecień 2002 Z. Michalewicz: Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT, Warszawa 1996 Adres służbowy autora: mgr inż. Grzegorz Paweł Korbaś Politechnika Opolska Wydział Elektrotechniki i Automatyki Katedra Automatyzacji i Diagnostyki Układów Elektromechanicznych ul. Luboszycka 7, 45-036 Opole tel. (077) 45-38-447 fax. (077) 45-38-447 w. 139 e-mail: [email protected]