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
ABCD j DB−CA 
2
2
B C
A=RL RC 
gdzie
C= L−
1
C
L
C
(1)
B=R LRC
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 2V 2U R M  j V R M
=
2
2
U WE 
U R M  V
(2)
M =B2C 2 , U =ABCD , 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
∑ ∣Gi , 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: 0R1000 , 0R L100 , 0RC 100 , 0L1 ,
0C1 . 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.