pobierz
Transkrypt
pobierz
GRZEGORZ PAWEŁ KORBAŚ Instytut Układów Elektromechanicznych i Elektroniki Przemysłowej ESTYMACJA SIECIOWA PRZY UŻYCIU MOŻLIWOŚCI SYSTEMU ESTYMACJI PARAMETRÓW - SEST streszczenie: W artykule przedstawiono elementy metodologii projektowania i implementacji rozszerzenia istniejącego systemu estymacji parametrów - SEST. Rozszerzenie to, wykonane w formie pliku DLL, umożliwiło systemowi wykonywanie estymacji sieciowej. Poszczególne elementy projektu i implementacji zobrazowano diagramami UML. W dalszej części artykułu przedstawiono i omówiono przykłady zastosowania wprowadzonego rozszerzenia do estymacji parametrów wybranego układu elektrycznego na podstawie symulacyjnych przebiegów statycznych. 1. WSTĘP Estymacja parametrów modeli układów elektromechanicznych stanowi istotny element związany z diagnostyką, identyfikacją bądź symulacją. W procesie estymacji dokonuje się zazwyczaj minimalizacji zadanej funkcji odchylenia, która jest miarą niezgodności modelu matematycznego i danych pomiarowych. Zależności pomiędzy obiektami procesu estymacji przedstawiono w formie diagramu UML [1] na rysunku 1. Rys.1. Zależność pomiędzy obiektami w typowym procesie estymacji. Prawidłowa estymacja prowadzi do odnalezienia takiego wektora parametrów, dla którego funkcja odchylenia ma wartość jak najmniejszą. Szereg przykładów wskazuje na to, że odnalezienie minimum globalnego jest - w ogólnym przypadku - niezwykle trudne lub niemożliwe. Używane metody minimalizacji w różny sposób radzą sobie z różnymi problemami, dlatego też wciąż poszukuje się narzędzi, których efektywność w procesie estymacji byłaby coraz większa. Testując tego typu narzędzia często w miejsce danych pomiarowych wykorzystuje się dane otrzymane z symulacji, dla których znany jest poszukiwany wektor parametrów. Jednym z takich narzędzi jest SEST obiektowy system estymacji parametrów. System ten składa się ze sterownika, który jest wykorzystywany przez aplikację. Sterownik umożliwia swobodne i efektywne prowadzenie procesu estymacji. System, którego pierwotną wersję przedstawiono w [3], jest nieustannie rozwijany. SEST został zaprojektowany w elastyczny sposób - jedną z możliwości jest dodawanie rozszerzeń, które pośredniczą pomiędzy aplikacją i sterownikiem zwiększając w ten sposób jego możliwości. Zależności pomiędzy wspomnianymi obiektami systemu przedstawia rysunek 2, gdzie obiekt pośredniczący (przesłaniający) oznaczono jako SterownikX. Jak wynika z rysunku zarówno sterownik, jak i obiekt SterownikX mogą być umiejscowione w plikach dll (Dynamic Link Library). Rys.2. Zależności pomiędzy wybranymi obiektami systemu SEST. W ramach artykułu przedstawiono wybrane elementy rozszerzenia, które umożliwia SEST estymację sieciową. Potrzeba takiego rozszerzenia w naturalny sposób wypływa z konieczności zapewnienia systemowi większej mocy obliczeniowej. Przydatność estymacji sieciowej potwierdzają też wcześniejsze badania [4]. 2. OPIS ROZSZERZENIA SIECIOWEGO 2.1.Metodologia projektowania rozszerzenia Aby właściwie tworzyć systemy obiektowe warto posługiwać się sprawdzonymi metodami. Poza podstawowymi zasadami programowania obiektowego istotne są dwie koncepcje: wzorce projektowe [7] i analiza Case [6]. Te właśnie koncepcje były używane przy projektowaniu rozszerzenia sieciowego. Pomijając szczegółowy opis, wykraczający poza ramy merytoryczne tego artykułu, przytoczone zostaną tu jedynie wymagania związane z rozszerzeniem, które stanowią punkt odniesienia dla analizy Case. Założono następujące wymagania dla rozbudowy sieciowej: 1. Komponenty sieciowe powinny umożliwiać łączenie z odpowiednimi komponentami uruchomionymi na innych komputerach połączonych siecią. Połączenie powinno być systematycznie potwierdzane, aby użytkownik komponentów miał aktualne informacje o dostępnych zasobach sieciowych. 2. Każdy komputer powinien mieć możliwość pracy zarówno jako klient jak i jako serwer - równocześnie. Identyfikacja komputera powinna odbywać się poprzez numer IP. 3. Jeśli komponenty sieciowe działają, to w każdej chwili powinna być możliwość podłączenia lub odłączenia komputera od sieci bez zakłócania jego aktualnej pracy. 4. System powinien rozróżniać polecenia wydawane przez sieć i wydawane lokalnie. Powinna być możliwość blokowania poleceń z sieci w zależności od różnych ustawień, które będą stanowiły o możliwościach sieciowych. 5. W momencie lokalnego startu procesu estymacji powinna być zapamiętywana konfiguracja procesu w ten sposób, aby jej wysłanie za pomocą sieci umożliwiło start dokładnie tego samego procesu estymacji na innym stanowisku. 6. W momencie lokalnego startu procesu estymacji powinien być ustalany unikalny identyfikator procesu, aby stanowiska pracujące nad tym samym procesem mogły się wzajemnie identyfikować. 7. Każde stanowisko powinno na bieżąco sygnalizować stan gotowości do podjęcia współpracy z siecią. Gotowość lub brak gotowości może wynikać z lokalnych ustawień stanowiska. 8. Jeśli pewne stanowisko osiągnie poprawę w aktualnych poszukiwaniach estymacyjnych powinna być możliwość stosunkowo szybkiego wysłania informacji o aktualnym rozwiązaniu do pozostałych stanowisk pracujących nad tym samym zagadnieniem. 9. W sytuacji, gdy komputer otrzyma informację o lepszym rozwiązaniu z innego stanowiska, powinna istnieć możliwość by to rozwiązanie wziąć pod uwagę w ramach własnych poszukiwań. Powinna być jednak także możliwość blokowania takiej wymiany informacji, co będzie oznaczało niezależną pracę każdego stanowiska (tryb pracy wyspowej). 10. Na każdym stanowisku powinna istnieć możliwość natychmiastowego zakończenia pracy zleconej sieciowo. 11. Jeśli na danym stanowisku trwa pewien proces estymacji oraz w otoczeniu znajdują się stanowiska gotowe do współpracy, to powinien być uruchamiany automatyczny proces prowadzący do nawiązania takiej współpracy. 12. Wyłączenie stanowiska na którym został zapoczątkowany proces estymacji nie może prowadzić do zakończenia procesu w sieci. 2.2.Opis zaimplementowanego rozwiązania Rys.3. Zależności pomiędzy wybranymi obiektami systemu SEST. Biblioteka dll z rozszerzeniem sieciowym została stworzona w środowisku Delphi firmy Borland. Na rysunku 3 przedstawiono diagram klas związany z omawianą implementacją. Aplikacja komunikuje się bezpośrednio z blokiem pliku dll, gdzie znajdują się eksportowane przez wtyczkę dll procedury oraz procedury aktywacji i deaktywacji. Wspomniany blok wydzielono na diagramie jako klasę TObslugaDLL. Klasa ta zawiera (na zasadzie kompozycji) dwie inne klasy: TSterownikXforNET oraz TOknoUżytkownika. Klasa TSterownikXforNET pełni rolę sterownika przesłaniającego. W ramach tej klasy zapadają wszelkie decyzje związane z zarządzaniem danymi, komunikacją z użytkownikiem i przesłanianym sterownikiem. Na potrzeby komunikacji siecią klasa ta ma wkomponowaną klasę TNETModule, która odpowiada za realizację połączeń sieciowych (dla elastyczności wprowadzono tu jeszcze interfejs INETModule). Klasa TNETModule obudowuje dostarczane przez system protokoły komunikacji sieciowej i umożliwia wysyłanie danych przez sieć. Klasa ta wprowadza własny protokół sieciowy wysokiego poziomu, w ramach którego sprawdzana jest poprawność odebranych danych. W sytuacji odebrania informacji o odpowiednim formacie jest ona przekazywana do klasy TSterownikXforNET do analizy. TNETModule jest również odpowiedzialna za wysyłanie i otrzymywanie informacji o stanie danego stanowiska (np. o gotowości do podjęcia współpracy). Klasa TOknoUżytkownika jest potomkiem klasy TForm dostarczanej w ramach pakietu Delphi - realizuje wyświetlanie okienka użytkownika. W okienku dostępne są panele, za pomocą których użytkownik może zarządzać działaniem estymacji sieciowej (poniżej przedstawiono dwa z nich). Rys.4.Panel parametrów sieciowych. Za pomocą panelu parametrów sieciowych (Rys.4.) użytkownik może skonfigurować ustawienia dotyczące sieci jak porty dla klienta i serwera oraz zezwolić (lub nie zezwolić) na połączenia sieciowe. Jest również możliwość przyłączenia się do konkretnej podsieci w ramach sieci komputerów zgodnych z SEST. Można dzięki temu tworzyć podsieci zajmujące się niezależnie różnymi procesami estymacji. Rys.5.Panel opcji. Panel opcji (Rys.5.) umożliwia ustalenie sposobu współpracy danego stanowiska z siecią. Można ustalić, czy zadanie wykonywane lokalnie jest propagowane w sieci, czy pozwala się na otrzymywanie zadania z sieci oraz pozostałe opcje, które można odczytać z rysunku. 3. ESTYMACJA PARAMETRÓW OBWODU ELEKTRYCZNEGO 3.1.Przedstawienie wybranego modelu i kryterium estymacji Rys.6. Układ elektryczny zastosowany do testów estymacji sieciowej. Do testów estymacji sieciowej wybrano kilka modeli układów elektrycznych, w tym układ prezentowany w ramach niniejszego artykułu - przedstawiony na rysunku 6. W obwodzie elektrycznym tego typu zachodzi (przy pewnej częstotliwości napięcia wejściowego) zjawisko rezonansu prądów. Wybrany przykład jest dosyć ogólny, gdyż zarówno cewka jak i kondensator traktowane są jako elementy stratne - zawierające rezystancje. W modelu można wskazać pięć parametrów: R, RL, RC, L i C. Można również rozpatrywać zależności, które staną się podstawą procesu estymacji. W tym przypadku zdecydowano się dokonywać estymacji z charakterystyk statycznych. Pierwszą z nich jest impedancja układu: Z =R ABCD j DB−CA 2 2 B C A=RL RC gdzie C= L− 1 C L C (1) B=R LRC D=RC L− RL C Drugą charakterystyką jest stosunek napięcia wyjściowego do napięcia na wejściu układu. Stosunek ten wyraża się wzorem: G= gdzie U WY U 2V 2U R M j V R M = 2 2 U WE U R M V (2) M =B2C 2 , U =ABCD , V =DB−CA Estymację przeprowadzano na bazie przebiegów symulacyjnych będących zależnościami modułów podanych wielkości (1) i (2) od częstotliwości f = /2 . Dane symulacyjne uzyskiwano dla różnych zestawów parametrów, przy czym w dalszej części podawane są przykłady dla wektora parametrów P SYM =[R , R L , RC , L , C]=[100 ,5 ,1 ,40 mH ,50 F ] . Przeprowadzono zarówno estymację niezależną na podstawie tylko jednej z charakterystyk ∣Z ∣ lub ∣G∣ jak i estymację szeregową bazującą na obydwu charakterystykach jednocześnie - wyniki były zbliżone. Podawane w dalszej części artykułu przykłady reprezentują sytuację dla estymacji bazujące jedynie na ∣G∣ . W tej sytuacji funkcja odchylenia miała postać: f P= n ∑ ∣Gi , P∣−∣G SYM i ∣2 (3) i =1 P ∣ jak i symulacyjne gdzie zarówno wartości obliczane z modelu ∣G i , ∣G SYM i ∣ były wstępnie poddawane unormowaniu. Używano dwu metod minimalizacji: rozbudowanego zmiennoprzecinkowego algorytmu genetycznego o sześciu operatorach genetycznych (GA) oraz hybrydowej metody GA-HJmod [5], która łączy algorytm genetyczny i zmodyfikowany algorytm Hooka-Jeevesa. Obydwie metody były już testowane w obliczeniach sieciowych [4], dotyczyło to jednak jedynie dwu komputerów i odbywało się poza systemem SEST. W procesie estymacji na obszar przeszukiwany nałożono następujące ograniczenia: 0R1000 , 0R L100 , 0RC 100 , 0L1 , 0C1 . Punkt startowy był nieistotny, gdyż algorytmy genetyczne losowały populację startową w ramach narzuconych ograniczeń. 3.2.Przebieg estymacji sieciowej Rys.7. Wybrany sposób połączenia w sieć dla procesu estymacji. Proces estymacji został wykonany wielokrotnie zarówno na pojedynczych stanowiskach, jak i w sieci. Sieć była konfigurowana w różny sposób, przedstawione dalej przykłady dotyczą sieci złożonej z pięciu komputerów o zbliżonej mocy obliczeniowej. Sposób połączenia takiej sieci przedstawiono na rysunku 7. W prezentowanym sposobie konstrukcji sieci jeden z komputerów pełni rolę serwera i jednocześnie zarządza procesem estymacji. Wymiana (i rejestracja) informacji odbywa się dzięki temu właśnie stanowisku, które jest równocześnie pełnym uczestnikiem procesu obliczeniowego. Na rysunku 8 przedstawiono przykładowy przebieg estymacji jako zależność wartości funkcji odchylenia od czasu. Wykres ten dotyczy metody GA-HJmod - pojawienie się znaczka odpowiadającego danemu stanowisku oznacza, że właśnie ten komputer odnalazł lepszy wektor parametrów. Komputery wspomagające rozróżniono podając ich numer IP (dla serwera numer pominięto). Rys.8. Przykład estymacji sieciowej w konfiguracji „1+4” (metoda GA-HJmod). Jak łatwo zauważyć estymacja następuje szybko, a każde stanowisko przynajmniej raz poprawia wynik. Dominuje serwer, co wydaje się być rezultatem tego, że to właśnie on otrzymuje (a tym samym analizuje) najszybciej informacje o najnowszych wynikach. Na rysunku 9 pokazano przykładowy przebieg estymacji dla metody GAHJmod dla konfiguracji „0+4”, gdy serwer dokonał jedynie startu procesu i wysłał go do sieci, a następnie był pośrednikiem wymiany informacji - nie uczestnicząc bezpośrednio w obliczeniach. Jak łatwo zauważyć, z powodu utrudnionej wymiany informacji proces jest wolniejszy. Jeszcze wolniejszy jest proces estymacji za pomocą GA-HJmod przedstawiony na rysunku 10, który odbył się na pojedynczym stanowisku - bez wspomagania sieciowego. Zastosowanie algorytmu genetycznego zamiast algorytmu GA-HJmod daje, w typowym przypadku, efekt zmniejszenia szybkości procesu estymacji. Przykładowe przebiegi dla algorytmu genetycznego przy pracy w konfiguracji „1+4” i dla pojedynczego stanowiska można zaobserwować odpowiednio na rysunkach 11 i 12. Rys.9. Przykład estymacji sieciowej w konfiguracji „0+4” (metoda GA-HJmod). Rys.10. Przykład estymacji na pojedynczym stanowisku (metoda GA-HJmod). Rys.11. Przykład estymacji sieciowej w konfiguracji „1+4” (metoda GA). Rys.12. Przykład estymacji na pojedynczym stanowisku (metoda GA). Należy tu koniecznie zauważyć, że choć starano się umieścić reprezentatywne wykresy, nie można wysnuć ogólnych wniosków stwierdzających iż sieć zawsze znajdzie wynik szybciej niż pojedynczy komputer, a algorytmy genetyczne zawsze będą słabsze od hybrydowych. Powinno być bowiem oczywiste, iż każdy z używanych algorytmów opiera się na losowości i nie sposób przewidzieć w jaki sposób potoczy się proces estymacji. Wprawdzie algorytm GA-HJmod zawiera również wbudowaną metodę deterministyczną gwarantuje to jednak jedynie stosunkowo szybkie dotarcie do bliskiego minimum lokalnego. W trakcie badań zdarzały się przypadki, gdy algorytm genetyczny uruchomiony na pojedynczym stanowisku odszukiwał całkiem dobre rozwiązanie w bardzo krótkim czasie (kilku sekund). Przedstawione rozważania nie wpływają jednak na kompleksową ocenę przydatności sieci, której zastosowanie zwiększa moc obliczeniową, a tym samym prawdopodobieństwo szybszego znalezienia lepszego wektora parametrów. 3.3.Wyniki estymacji Rys.12. Porównanie charakterystyki symulacyjnej, otrzymanej z najlepszego wyestymowanego punktu oraz z jednego z punktów startowych. Najlepszy wynik, który otrzymano w trakcie badań, uzyskano w konfiguracji sieciowej „1+4” dla metody GA-HJmod. Odszukany wektor to P EST =[ 68 ; 3,4 ; 0,68 ; 27 mH , 74 F ] wartość funkcji −6 odchylenia wynosiła w tym przypadku około 3,8⋅10 . Na rysunku 13 przedstawiono porównanie charakterystyki symulacyjnej i otrzymanej na bazie wyestymowanego punktu. Dodatkowo zaznaczono również przebieg dla punktu o dużej wartości funkcji odchylenia (około 1,2 ) - tego typu wartości bywały częste dla startu estymacji. Obliczanie funkcji odchylenia do przedstawionego modelu było procesem krótkotrwałym, co wskazywałoby na to, iż proces estymacji powinien zakończyć się powodzeniem stosunkowo szybko - tak się jednak nie działo. Analiza wektorów parametrów otrzymywanych w trakcie estymacji wskazuje na to że hiperpowierzchnia funkcji odchylenia zawiera sporo minimum P SYM jest lokalnych a w szerokim otoczeniu wektora użytego do symulacji stosunkowo płaska. Ta druga cecha powoduje, że zazwyczaj trudno jest P SYM wyestymować wektor bliski w krótkim czasie. W tym kontekście znaczenie sieci rośnie, gdyż pojedyncze stanowisko ma znacznie mniejsze prawdopodobieństwo poprawy wyniku w jednostce czasu. 4. PODSUMOWANIE W pierwszej części artykułu przedstawiono niektóre aspekty związane z projektowaniem i implementacją rozszerzenia sieciowego dla systemu estymacji parametrów - SEST. Następnie zaprezentowano i omówiono wybrane przykłady związane z przeprowadzaniem sieciowej estymacji parametrycznej wybranego modelu układu elektrycznego. Wyniki przeprowadzonych testów wskazują, że wykorzystanie sieci w procesie estymacji stwarza możliwości szybszego uzyskania dokładniejszych wyników. Utworzone rozszerzenie sieciowe wydaje się więc być przydatnym narzędziem tym bardziej, że umożliwia swobodną konfigurację i automatycznie obsługuje proces estymacji. 5. LITERATURA [1] Alhir S.S.: UML. Wprowadzenie., Helion, Gliwice 2004 [2] Arabas J.: Wykłady z algorytmów ewolucyjnych, WNT, Warszawa 2001 [3] Korbaś G.P., Macek-Kamińska K.: Możliwości obiektowego systemu estymacji parametrów na przykładzie estymacji parametrów silnika indukcyjnego, XLI Sympozjum Maszyn Elektrycznych, OpoleJarnołtówek, 14-17 czerwca 2005 [4] Korbaś G.P.: Estymacja parametrów modeli matematycznych układów elektromechanicznych za pomocą sieciowej hybrydowej metody GAHJmod, Międzynarodowe Warsztaty Doktoranckie, Wisła 2004 [5] Zastosowanie hybrydowej metody minimalizacji do wyznaczania parametrów modeli matematycznych układów elektromechanicznych, Zeszyty Naukowe Politechniki Opolskiej Elektryka z.54, Opole 2004 [6] Schneider G., Winters J.P.: Stosowanie przypadków użycia, WNT, Warszawa 2004 [7] Shalloway A., Trott J.R.: Programowanie zorientowane obiektowo. Wzorce projektowe., Helion, Gliwice 2001 The network estimation with SEST - parameters' estimation system. summary: The paper presents some aspects of designing and implementation of network extention for SEST system. The implementation has been made in DLL file form. The elements of designing and implementation are presented by using UML diagrams. In the further part of the article the examples of the network estimation are described and commented. The estimation has been made for chosen electrical circuit.