metryka fr
Transkrypt
metryka fr
ELEKTRYKA Zeszyt 3 (211) 2009 Rok LV Bernard BARON, Artur PASIERBEK Instytut Elektrotechniki i Informatyki, Politechnika Śląska w Gliwicach PORÓWNANIE WYDAJNOŚCI ALGORYTMÓW GRADIENTU SPRZĘŻONEGO I QUASI-NEWTONOWSKIEGO BFGS W ZAGADNIENIU OPTYMALIZACJI ROZPŁYWU MOCY W SYSTEMIE ELEKTROENERGETYCZNYM Streszczenie. Rozwiązanie zadania optymalnego rozpływu mocy (OPF) wymaga sformułowania odpowiedniej funkcji celu oraz dobrania odpowiednich algorytmów optymalizacyjnych. Ze względu na nieliniowy charakter zagadnienia podanie jednego jedynie słusznego sposobu postępowania jest niemożliwe. Każde zagadnienie nieliniowe musi być traktowane indywidualnie. W publikacji Autorzy prezentują wyniki eksperymentu, mającego na celu określenie przydatności metody gradientu sprzężonego oraz quasi-Newtonowskiej metody BFGS w zagadnieniu OPF. Prezentowane algorytmy przeznaczone są do optymalizacji bez ograniczeń. Modyfikując jednak odpowiednio funkcję celu, można wymusić, aby poszukiwane rozwiązanie znajdowało się w obszarze dopuszczalnym. Modyfikacja ta polega na wprowadzeniu funkcji kary. Autorzy proponują wykorzystanie zewnętrznej lub hybrydowej funkcji kary. Prezentowane metody zostały poddane analizie i testom na potrzeby realizowanego projektu badawczego N511 001 32/0852. Słowa kluczowe: system elektroenergetyczny, model systemu, OPF, optymalizacja COMPARISON OF CONJUGATE GRADIENT AND QUASI-NEWTON BFGS ALGORITHMS IN THE OPTIMAL POWER FLOW PROBLEM Summary. Solving the optimal power flow (OPF) problem requires defining an objective function and selecting an efficient optimization algorithm. Because of nonlinearity of the problem, there is no single perfect solution to it. Each nonlinear problem has to be treated independently. The paper presents results of a comparison of the conjugate gradient and the quasi-Newton BFGS algorithms in the optimal power flow problem. These two methods are primarily used for non-constrained optimisation. However, by modification of the objective function (by introducing a penalty function), one can make these algorithms only search for a solution in the constrained space. The authors propose using an external or hybrid penalty function. The methods presented were analysed and tested in the framework of the N511 001 32/0852 research project. Keywords: power system, power system model, optimal power flow, optimization 50 B. Baron, A. Pasierbek 1. WPROWADZENIE Optymalizacja systemu elektroenergetycznego jest procesem polegającym na doborze takich mocy generowanych w węzłach wytwórczych, by pokryte zostało zapotrzebowanie odbiorców mocy (z uwzględnieniem strat w liniach) z zachowaniem możliwie jak najmniejszych strat oraz kosztów. Ze względu na dużą liczbę elementów (węzłów i linii) składających się na SEE, układ równań stanowiący podstawę procesu optymalizacyjnego osiąga duże rozmiary. Powoduje to konieczność stosowania wydajnych algorytmów optymalizacyjnych, przystosowanych przy tym do operowania na macierzach rzadkich [1]. Wśród metod numerycznych znajdujących zastosowanie w zadaniu optymalizacji systemu elektroenergetycznego (SE) należy zaliczyć metodę gradientu sprzężonego (CG). Metoda ta wymaga jednak obliczania macierzy Hessego w każdym kroku optymalizacji. Alternatywą godną uwagi jest algorytm Broydena-Fletchera-Goldfarba-Shanno (BFGS) należący do klasy metod quasi-Newtonowskich, zwanych też metodami zmiennej metryki. Algorytm charakteryzuje się dużą stabilnością i małą wrażliwością na błędy minimalizacji kierunkowej i nie korzysta z macierzy Hessego. W celu zapewnienia możliwości analizy porównawczej uzyskanych wyników Autorzy przetestowali działanie prezentowanych algorytmów z wykorzystaniem sześciu standardowych zestawów danych testowych IEEE. Testy przeprowadzono w stworzonym do tego celu autorskim oprogramowaniu. 2. SFORMUŁOWANIE ZAGADNIENIA OPTYMALIZACJI W ogólnej postaci każde zadanie optymalizacyjne można zapisać następująco min f x , (1) h x 0 , (2) g d x g x g min 0 , (3) g g x g max g x 0 , (4) x gdzie: f(x) – funkcja celu, h(x) – funkcja wektorowa ograniczeń równościowych, g(x) – funkcja wektorowa ograniczeń nierównościowych dolnych g(d)(x) i górnych g(g)(x). Porównanie wydajności algorytmów… 51 Poszukiwanie optymalnego rozpływu mocy w systemie elektroenergetycznym wymaga zatem znalezienia minimum pewnej funkcji celu (opisującej straty w liniach przesyłowych, koszty wytwarzania energii, poziom bezpieczeństwa elektroenergetycznego itd.) przy spełnieniu dodatkowych warunków nazywanych ograniczeniami. Jeżeli założymy, że zadaniem optymalizacji jest znalezienie takiego stanu pracy systemu, dla którego koszty wytwarzania energii będą najniższe, to wówczas funkcja celu jest następująca: Ng f x ai Pi g bi Pi g ci , i 1 2 (5) Pi g – moc i-tego węzła wytwórczego. Na podstawie modelu matematycznego systemu elektroenergetycznego zaprezentowanego we wcześniejszym rozdziale poszukiwanymi wielkościami w tak postawionym zadaniu optymalizacyjnym są napięcia skuteczne węzłowe, ich kąty fazowe oraz moce generatorów. x N g g T x x U , x 1 ,.., Nw , U1 ,..,U Nw , P1 ,.., PN g . Pg x (6) Zjawiska fizyczne zachodzące w systemie wprowadzają dodatkowe ograniczenia, które muszą zostać uwzględnione w trakcie poszukiwania rozwiązania. Ograniczenia te można podzielić na : równościowe (zbilansowanie mocy we wszystkich węzłach systemu): h Po x P h x h g x 0 , Qo h x nierównościowe (ograniczenia techniczne elementów systemu): g Pg x g min Pg Q min Q g g d x g x g min g g x g 0, U min U g x g g maxPg g Pg x maxQ Q g g g g x g max g x g g x 0 . maxU U g g x g max I g I x (7) (8) (9) 52 B. Baron, A. Pasierbek 3. METODA ZEWNĘTRZNEJ FUNKCJI KARY Duża liczba algorytmów optymalizacyjnych poszukuje minimum funkcji celu bez ograniczeń. Wykorzystanie ich do optymalizacji z ograniczeniami jest możliwe przez zastosowanie tzw. funkcji kary. Funkcja ta wprowadzana jest jako dodatkowy składnik funkcji celu i przyjmuje wartość zero, wówczas gdy wszystkie ograniczenia są spełnione, oraz wartość większą od zera, gdy któreś z ograniczeń zostało przekroczone. K z x f x gdzie 1 Nh 2 1 Ng 2 h x i si x , 2 μ i1 2 μ i1 (10) (11) si x W gimin , gimax , gi x , z z min dla z z min W z min , z max , z 0 dla z min z z max z z max dla z z max , (12) hi x - funkcje ograniczeń równościowych (7), gimin , gimin , gi x - funkcje ograniczeń nierównościowych (8), (9). 0.4 0.3 W(xmin, x, xmax) 0.2 0.1 Xmin 0 Xmax -0.1 -0.2 -0.3 -0.4 0.6 0.7 0.8 0.9 1 x Rys. 1. Przykładowa funkcja kary W( xmin, x, xmax) Fig. 1. A sample penalty function W( xmin, x, xmax) 1.1 1.2 1.3 1.4 Porównanie wydajności algorytmów… 53 4 MINIMALIZACJA KIERUNKOWA ZMODYFIKOWANEJ FUNKCJI CELU DLA ZEWNĘTRZNEJ FUNKCJI KARY Do minimalizacji zmodyfikowanej funkcji kosztów z zastosowaniem zewnętrznej funkcji kary można stosować metody minimalizacji bez ograniczeń. Ze względu na znajomość postaci analitycznej gradientu tej funkcji najwłaściwszymi metodami są metoda gradientu sprzężonego lub bardziej wyrafinowane metody zmiennej metryki, a szczególnie metoda Broydena-Goldfarba-Fletchera-Shanno (BGFS). Niezależnie od wyboru tych metod, każda z nich wymaga minimalizacji kierunkowej w kolejnych krokach iteracyjnych. Dlatego też dla postaci zmodyfikowanej funkcji kosztów (10) opracowany będzie sposób doboru kroku minimalizacji w danym kierunku. W celu określenia minimalizacji w kierunku wektora d bada się funkcję z K z x d , (13) Określenie kroku w kierunku wektora d można dokonać z warunku zerowania się pochodnej funkcji (13). ' z d z K x d 0 . d (14) Równanie (14) ze względu na parametr rozwiązujemy, przyjmując liniowe przybliżenie ograniczeń równościowych i nierównościowych Nx h i x d h i x j1 hi x dj , xj (15) si x d j. j1 x j Nx s i x d s i x (16) Dla zdefiniowanej funkcji kosztów (5) f x d a j x j d j b j x j d j c j , Nx j1 2 (17) Nx Nx f x d Nx 2 a j x j d j b j d j 2 a j x j b j d j 2 a j d 2j j1 j1 j1 Nx f x 2 f x 2 d j dj . 2 j1 x j j1 x j Nx (18) Uwzględniając przybliżenia (15), (16), (17) równanie (14) przyjmuje postać Nx d z N x f x 2 f x 2 1 Nh d j d j hi x hid x hid x 2 d xj i1 j1 x j j1 1 s x s x s x 0 . Nh i 1 i d d i i (19) 54 B. Baron, A. Pasierbek gdzie Nx hid x j1 hi x dj , xj (20) Nx g x si x si x d j W ' gimin , gimax , gi x i dj . x j j1 x j j 1 Nx d (21) Ponieważ druga pochodna funkcji z jest dodatnia d 2 z N x 2 f x 2 1 N h d 1 N h d d h x s x 0 , 2 j i 1 i i 1 i d2 j1 x j 2 2 (22) z równania (19) otrzymamy zależność opisującą długość kroku f x 1 Nh 1 g d d h x h x si x sid x j i i i1 i1 j1 x j N Nx 2 f x 2 1 N h d 1 g d d h x s x j x 2j i1 i i1 i j1 Nx 2 N 2 . (23) Uwzględniając wyrażenia (20) i (21), licznik funkcji (23) można przekształcić do postaci f x 1 Nh 1 g d d h x h x si x sid x j i i x j1 i 1 i 1 j N Nx N Nx f x 1 Nh h x 1 g g x K z x hi x i si x i d j dj . x x x x j1 i 1 i 1 j 1 j j j j Nx (24) Ostatecznie krok minimalizacji kierunkowej można przedstawić za pomocą wzoru K z x dj x j j 1 Nx d 2 z d2 , (25) d 2 z wyraża się wzorem (22). d2 Wyprowadzona zależność (25) określa sposób doboru długości kroku w kierunku wektora d i może być użyta w algorytmie gradientu sprzężonego. gdzie 5. HYBRYDOWA FUNKCJA KARY Metoda zewnętrznej funkcji kary pozwala na traktowanie ograniczeń równościowych i nierównościowych w identyczny sposób. Metoda wewnętrznej funkcji kary stosowana jest tylko do ograniczeń nierównościowych. Zastosowanie jej w rozpatrywanym zagadnieniu Porównanie wydajności algorytmów… 55 wymaga uwzględnienia ograniczeń w kombinowanej wewnętrzno-zewnętrznej postaci funkcji kary (Fiacco, McCormik) K z ,w N d Nh g x f x 1 hi2 x gi x gimin 2 μ i 1 i 1 1 Ngg 1 gi max i 1 - gi x . (26) Koncepcja poszukiwania minimum funkcji (26) polega na realizacji kolejnych minimalizacji tej funkcji dla odpowiadających im dyskretnych monotonicznie malejących wartości k . Jeżeli k 0 , to otrzymane rozwiązanie jest poszukiwanym optymalnym punktem pracy systemu. Wymagane jest jednak, aby punkt startowy iteracji należał do zbioru rozwiązań dopuszczalnych ze względu na ograniczenie nierównościowe. Teoretycznie rzecz biorąc, jeżeli taki punkt został znaleziony, to nie powinniśmy tego obszaru opuścić. Najlepszym zabezpieczeniem w takich przypadkach jest rozszerzenie wewnętrznej funkcji kary poza obszar dopuszczalnych rozwiązań. Koncepcja Prasada rozwiązania tego problemu polega na zastosowaniu następującej funkcji kary: 1 ln g , dla g g 0 g 3 2 g 0 g 1 g g , g 0 , , 1 1 1 2 g 0 g 0 g 0 g 1 g 1 1 g ln g dla 0 0 0 g 0 K z ,h N d (27) g g0 , Nh g x f x 1 hi2 x gi x gimin , g 0 , , 2 μ i 1 i 1 Ngg (28) g imax - g i x , g 0 , , . i 1 Punkt sklejania g0 w funkcji (27) zależy od parametru . Jeżeli 0 w procesie iteracyjnym, to punkt sklejania g0 powinien zmierzać do zera jak q , gdzie 0.25< q<0.5. Parametry , określają kształt funkcji barierowej (27). Jeżeli w procesie minimalizacji zmodyfikowanej funkcji kosztów (28) ograniczenia nierównościowe spełniają zależności g min gimax - gi x g max dla i 1,2,.., N g g g min gi x gimin g max dla i 1,2,.., N gd 56 B. Baron, A. Pasierbek to Prasada proponuje przyjąć 1 g max , natomiast parametr powinien spełniać nierówność 0 1 6 g0 2 g max . g min 1 g0 6. MINIMALIZACJA KIERUNKOWA ZMODYFIKOWANEJ FUNKCJI CELU DLA HYBRYDOWEJ FUNKCJI KARY Hybrydowa funkcja kary (podobnie jak zewnętrza funkcja kary) może być stosowana w połączeniu z gradientem sprzężonym. Wymaga on jednak właściwego doboru kroku minimalizacji kierunkowej. Postępując analogicznie jak w poprzednim rozdziale przeprowadzamy badanie funkcji Φ z ,h K z ,h x d (29) Określenia kroku w kierunku wektora d można dokonać z warunku zerowania się pochodnej (13): Φ' z ,h d z ,h K x d 0 . d (30) Równanie (30) ze względu na parametr rozwiązujemy, przyjmując liniowe przybliżenie funkcji hybrydowej ograniczeń równościowych i nierównościowych. Podstawiając do równania (30) liniowe przybliżenie wzorów na ograniczenie równościowe (15) oraz wzór (18) na pochodną, otrzymujemy funkcje kosztów ze względu na parametr . Liniowe przybliżenia funkcji hybrydowej (27) we wzorze na zmodyfikowaną funkcję kosztów (28) jest równe: g i x d g imin , g 0 , , g i x g imin , g 0 , , Nx ' g i x g imin , g 0 , , j 1 ' g imax - g i x , g 0 , , j 1 i , j (31) j g imax - g i x d , g 0 , , g imax - g i x , g 0 , , Nx gx x d gx x d . i j j Przy uwzględnieniu przybliżenia (15), (18), (31), (32) z równania (30) otrzymujemy (32) Porównanie wydajności algorytmów… 57 Nx d z ,h Nx f x 2 f x 2 1 Nh d j d j hi x hid x hi z x 2 d x x i1 j1 j1 j j Ng (33) ' g i x g imin , g 0 , , ' g imax - g i x , g 0 , , g ih x 0 , i 1 gdzie: Nx hi z x j1 hi x dj , xj (34) gi x dj . xj (35) Nx gih x j1 Po uwzględnieniu podstawienia pi x ' gi x gimin , g 0 , , ' gimax - gi x , g 0 , , Nx d z ,h Nx f x 2 f x 2 1 Nh d j d j hi x hid x hi z x 2 d xj i1 j1 x j j1 Ng (36) pi x g ih x 0 . i 1 Ponieważ druga pochodna funkcji z,h (29) jest dodatnia d 2 z ,h N x 2 f x 2 1 N h d d j hi x 0 , d2 x 2j i 1 j1 2 (37) z równania (33) otrzymujemy długość kroku : g f x 1 Nh d d h x h x pi x g ih x j i i x j1 i 1 i 1 j N Nx 2 f x 2 1 Nh d d j hi x x 2j i1 j1 Nx 2 . (38) Po uwzględnieniu wzorów (34) i (35) wyrażenie w liczniku wzoru (38) można przekształcić następująco: g f x 1 Nh d d h x h x pi x g ih x j i i i 1 j1 x j i 1 N Nx Ng Nx f x 1 N h h x g x K z ,h x hi x i pi x i d j dj . x x x x j 1 i 1 i 1 j 1 j j j j Nx (39) 58 B. Baron, A. Pasierbek Ostatecznie krok minimalizacji kierunkowej można wyrazić wzorem K z ,h x dj x j j 1 Nx d 2 z ,h d2 , (40) d 2 z ,h wyraża się wzorem (37). d2 Wyprowadzona zależność (40) określa sposób doboru długości kroku w kierunku wektora d i może być użyta w algorytmie gradientu sprzężonego. gdzie 7. GRADIENT SPRZĘŻONY Metoda gradientu sprzężonego należy do grupy efektywnych metod poszukiwania minimum funkcji wielu zmiennych. Skorzystanie z tej metody do rozwiązania układu równań nieliniowych z ograniczeniami wymaga sformułowania odpowiedniej funkcji celu (10) lub (26). W metodzie gradientu sprzężonego nowy kierunek poszukiwań minimum funkcji jest tak wybierany, aby był sprzężony do wszystkich poprzednich. Proces obliczeń przebiega w następujących etapach: Etap 1 Zerujemy licznik iteracji i, wybieramy punkt startowy X (0) oraz wyznaczamy pierwszy kierunek poszukiwania rozwiązania: D(0) K ( X (0) ) . (41) Etap 2 Dokonujemy minimalizacji funkcji K (X ) w kierunku D(i) z krokiem zgodnie z zależnością: X (i 1) X (i ) D (i ) . (42) Krok obliczamy z zależności (25) dla zewnętrznej funkcji kary lub (40) dla hybrydowej funkcji kary. Etap 3 Obliczamy gradient funkcji w punkcie X(i+1) D(i1) K ( X (i1) ) . (43) Porównanie wydajności algorytmów… 59 Etap 4 Jeżeli D (i 1) , wówczas kończymy obliczenia, a punkt X(i+1) jest poszukiwanym rozwiązaniem. Jeżeli warunek nie jest spełniony i nie przekroczono maksymalnej liczby iteracji, wówczas wyznaczamy nowy kierunek poszukiwań: D(i1) K ( X (i1) ) D(i1) , (44) inkrementujemy o jeden licznik iteracji i oraz wracamy do etapu 2. Występujący we wzorze współczynnik w zależności od wariantu metody definiowany jest następującymi zależnościami: wg Fletchera-Reevesa (FR) D D D D ( i 1) T (i ) (i ) T ( i 1) (i ) , (45) wg Polaka-Ribièrea (PR) D D D , D D ( i 1) T (i ) ( i 1) (i ) T (i ) (i ) (46) wg Hestenesa-Stiefelda (i ) D D D D ( i 1) T (i ) T ( i 1) ( i 1) . D (i ) D (i ) (47) Teoretycznie ze względu na stabilność algorytmu zaleca się stosowanie zależności Fletchera-Reevesa, praktycznie natomiast polecana jest jedna z pozostałych dwóch zależności, gdyż zapewniają one szybszą zbieżność procesu iteracyjnego. Jeżeli zadana liczba iteracji została przekroczona, obliczenia zakończyły się niepowodzeniem. Należy wówczas wybrać inny punkt startowy i przeprowadzić obliczenia ponownie. 8. ALGORYTM BFGS W metodzie BFGS zakłada się, że funkcja jest lokalnie aproksymowana w otoczeniu poszukiwanego minimum funkcją kwadratową f x0 x f x0 f x0 x 12 x TVx T V (48) - iteracyjnie aktualizowane przybliżenie odwrotności hesjanu. Funkcja osiąga minimum, jeżeli jej gradient przyjmuje wartość 0, co można zapisać: f x0 x 0 . (49) 60 B. Baron, A. Pasierbek Po przekształceniach uzyskujemy pierwszy krok poprawy rozwiązania: x Vf x0 . (50) Zatem, nowy punkt poszukiwania przyjmuje wartość zgodnie z zależnością: x x0 x . (51) Powtarzając działanie aż do uzyskania zadowalającej dokładności, otrzymujemy punkt, w którym funkcja osiąga minimum. Proces ten można zapisać w sformalizowany sposób następująco: k xk α kVk f xk , (52) xk 1 xk xk , (53) – numer iteracji, αk –współczynnik dobierany w celu spełnienia warunków Wolfe’a [4]. Cechą charakterystyczną tego algorytmu jest iteracyjna budowa macierzy Vk za pomocą już wcześniej wygenerowanych gradientów f(x). Dla metody Broydena-Fletchera-Goldfarba-Shanno konstrukcja ta ma postać: Vk 1 Vk γ kT δk Vk γ k γ δ 2 T k k δk δkT δk γ kTVk Vk γ k δkT , γ kT δk (54) δk xk 1 xk , (55) γ k f xk 1 f xk . (56) 9. EKSPERYMENT NUMERYCZNY Działanie algorytmów gradientu sprzężonego i BFGS przetestowano za pomocą autorskiego oprogramowania, zaimplementowanego w języku programowania C++ [5]. W celu uzyskania punktu początkowego dalekiego od rozwiązania standardowe zestawy danych IEEE zmodyfikowano w następujący sposób: Wszystkie moduły napięć w węzłach wytwórczych i odbiorczych ustalono na poziomie 1.0 p.u. Wszystkim argumentom napięć nadano wartość 0º. Moce czynne w węzłach wytwórczych ustalono na poziomie 0 p.u. Otrzymane wyniki zaprezentowano w tabeli I (algorytm BFGS) oraz w tabeli II (algorytm CG). Na rysunkach 2 oraz 3 przedstawiono porównanie czasu pojedynczej iteracji oraz liczby iteracji dla obydwu badanych algorytmów. Porównanie wydajności algorytmów… 61 Tabela 1 Wyniki optymalizacji metodą BFGS dla systemów testowych IEEE Liczba węzłów 9 13 30 57 118 300 j.m. 22 134 61 197 5 000 5 000 — 0,031 0,078 0,063 0,953 23,201 92,272 s Liczba iteracji Czas obliczeń Czas jednej iteracji 1,41 0,58 1,00 4,84 4,64 18,45 ms Tabela 2 Wyniki optymalizacji metodą gradientu sprzężonego (wariant Fletcher-Reeves) dla systemów testowych IEEE Liczba węzłów Liczba iteracji Czas obliczeń Czas jednej iteracji * 57 118* 300* j.m. 9 13 30 166 318 906 13 200 100 000 100 000 — 0,065 0,149 0,453 19,217 0,39 0,47 0,50 1,456 197,59 1,98 297,76 s 2,98 ms - nie osiągnięto zadanej dokładności Tabela 3 Wyniki optymalizacji metodą gradientu sprzężonego (wariant Fletcher-Reeves) dla systemów testowych IEEE Liczba węzłów Liczba iteracji Czas obliczeń Czas jednej iteracji * 57 118* 300* j.m. 9 13 30 330 365 933 12 985 100 000 100 000 — 0,128 0,171 0,466 18,906 0,39 0,47 0,50 - nie osiągnięto zadanej dokładności 1,456 197,59 1,98 297,76 s 2,98 ms 62 B. Baron, A. Pasierbek 20 Czas jednej iteracji [ms] 18 16 14 12 10 8 6 4 2 0 9 13 30 CG (FR) 57 CG (PR) 118 300 BFGS Rys. 2. Porównanie czasu pojedynczej iteracji dla algorytmów BFGS oraz CG Fig. 2. A comparison of single iteration time for the BFGS and CG algorithms 100000 Liczba iteracji 10000 1000 100 10 1 9 13 30 CG (FR) 57 CG (PR) 118 300 BFGS Rys. 3. Porównanie liczby iteracji dla algorytmów BFGS oraz CG Fig. 3. A comparison of iteration count for the BFGS and CG algorithms Badania przeprowadzono również dla wariantu Hestenesa-Stiefelda, jednak nawet dla 9-węzłowego systemu testowego IEEE nie udało się uzyskać rozwiązania dla liczby iteracji mniejszej niż 100 000. 10. PODSUMOWANIE Przedstawione w artykule eksperymenty są wynikiem testowania metod optymalizacyjnych, które mogą być stosowane w zagadnieniu optymalizacji rozpływu mocy w systemie elektroenergetycznym z uwzględnieniem ograniczeń: napięciowych, prądowych linii i mocy generowanych. Porównanie wydajności algorytmów… 63 Z trzech przetestowanych wariantów gradientu sprzężonego zdecydowanie nie należy stosować metody Hestenesa-Stiefelda. Nawet dla najprostszego systemu testowego nie udało się dzięki tej metodzie uzyskać zadowalających wyników, mimo że dzięki pozostałym dwóm metodom wyniki takie udało się osiągnąć. Różnice pomiędzy wariantami Fletchera-Reevesa i Polaka-Ribièrea są niewielkie i nie można jednoznacznie określić, która z nich jest szybsza. Największą zaletą metody BFGS jest rozległy obszar zbieżności, umożliwiający sprowadzenie zadania optymalizacyjnego w pobliże rozwiązania niezależnie od ustalonego punktu początkowego. Czas realizacji pojedynczej iteracji w przypadku algorytmu BFGS jest dłuższy niż w przypadku algorytmu gradientu sprzężonego. Rekompensuje to niższa liczba iteracji niezbędnych do uzyskania rozwiązania. W efekcie, sumaryczny czas realizacji wszystkich obliczeń w przypadku algorytmu BFGS jest krótszy niż w przypadku algorytmu CG. Ponadto, dla badanych przypadków algorytm BFGS przerwał obliczenia w efekcie osiągnięcia zadanej dokładności obliczeń, podczas gdy dla dwóch największych badanych systemów testowych algorytm CG został przerwany z powodu przekroczenia limitu liczby iteracji i nie osiągnął optymalnego rozwiązania. BIBLIOGRAFIA 1. Baron B., Pasierbek A., Połomski M., Sokół R.: Review of selected sparse matrix storage formats. Międzynarodowa Konferencja z Podstaw Elektrotechniki i Teorii Obwodów IC SPETO, Polska, Ustroń 2008, CD. 2. Wit R.: Metody programowania nieliniowego. WNT, Warszawa 1986. 3. Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P.: Numerical Recipes 3rd Edition: The Art of Scientific Computing. Cambridge University Press 2007. 4. Nocedal J., Wright S. J.: Numerical Optimization. Springer-Verlag, New York 1999. 5. Baron B., Piątek Ł.: Metody numeryczne w C++ Builder. Wydawnictwo Helion, Gliwice 2004. 6. Kremens Z., Sobierajski M.: Analiza systemów elektroenergetycznych. WNT, Warszawa 1996. 7. Shanno D.F.: Conjugate Gradient Methods with Inexact Searches. “Math. Oper. Res.” 1978, no. 3, p. 244-256. 8. Powell M.J.D.: Nonconvex Minimization Calculations and the Conjugate Gradient Method. “Lecture Notes in Mathematics” 1984, Vol. 1066, p. 122-141. 9. Fletcher R. and Reeves C.M.: Function Minimization by Conjugate Gradients. “Comp, J.” 1964, no. 7, p. 149-154. 10. Gilbert J.C. and Nocedal J.: Global Convergence Properties of Conjugate Gradient Methods for Optimization. “SIAM J.” 1992, Opt. 2, p. 21-42. 64 B. Baron, A. Pasierbek 11. George A. and Liu J.W.: Computer Solution of Large Spaarse Positive Definite Systems, Prentice-Hall, Englewood Cliffs, New Jersey 1981. Recenzent: Prof. dr hab. inż. Wojciech Machczyński Wpłynęło do Redakcji dnia 16 grudnia 2009 r. Abstract A process of determining the optimal state of a power system consists in finding a power generation level that is sufficient to cover consumers’ needs and power losses while keeping these losses (and power generation costs) at a lowest possible level. Because of number of elements a typical power system consists of, a set of equations describing its state grows very large. In effect, determining an optimal power system state requires using efficient algorithms and sparse matrix storage techniques [1]. Among methods used to solver the OPF problem, the conjugate gradient (CG) method is considered to be efficient and reliable. However, this method requires the Hesse matrix to be recalculated in every step of the optimization process. This disadvantage can be remedied with the Broyden-Fletcher-Goldfarb-Shanno (BFGS) quasi-Newton algorithm. The BFGS algorithm is characterized by high stability and low sensitivity on directional minimization error. It also does not use the Hesse matrix. To reliably estimate performance of both algorithms, the Authors have performed an optimization process for six standard IEEE power system test data. The paper presents results of the experiment with a conclusion that both the conjugate gradient and the quasi-Newton BFGS algorithms can be appropriately used to solve the OPF problem. The two methods described are primarily used for non-constrained optimization. However, by a modification of the objective function (by means of introducing a penalty function), one may make these algorithms to only search for a solution in a constrained space. The Authors propose using an external and hybrid penalty functions.