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 maxPg    g Pg   x  
 maxQ    Q  
g
g
  g g  x 
g 
max
g x  g
 g x   

0 .
maxU    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 μ i1
2 μ i1
(10)

(11)

si  x   W gimin  , gimax  , 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),
gimin  , gimin  , 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    
j1
 hi x
dj ,
 xj
(15)
 si  x 
d j.
j1  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
j1
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 

j1
j1
j1




Nx
 f x
 2 f x 2

d j  
dj .
2
j1  x j
j1  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   hid   x  hid   x  
2
d
xj
 i1
j1  x j
j1


1

 s  x   s  x s  x   0 .
Nh
i 1
i
d 
d 
i
i

(19)
54
B. Baron, A. Pasierbek
gdzie
Nx
hid   x   
j1
 hi x
dj ,
 xj
(20)
Nx
g  x 
si  x 
si  x   
d j  W ' gimin  , gimax  , gi  x  i
dj .
x j
j1  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
d2
j1  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 sid   x 



j
i
i
 i1
 i1
j1  x j
N
Nx

 2 f  x  2 1 N h d 
1 g d 


d

h
x



 s x
j
 x 2j
 i1 i
 i1 i
j1

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 sid   x  



j
i
i

x


j1
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
j1 
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   
d2
,
(25)
d 2   z   
wyraża się wzorem (22).
d2
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   gimin 
2 μ i 1
i 1
1

Ngg 

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   gimin  , g 0 ,  ,  
2 μ i 1
i 1
Ngg 


(28)
   g imax - 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   gimax - gi  x   g max
dla i  1,2,.., N g g 
g min   gi  x   gimin   g max
dla i  1,2,.., N gd 
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 imin  , g 0 , ,     g i  x   g imin  , g 0 , ,   
Nx

   ' g i  x   g imin  , g 0 , , 
j 1

   ' g imax - g i  x , g 0 ,  , 
j 1
i
,
j
(31)
j
 g imax - g i  x  d , g 0 ,  ,     g imax - g i  x , g 0 ,  ,   
Nx
 gx x  d
 gx 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   hid   x  hi z   x  
2
d

x

x
 i1
j1
j1
j
j

Ng
 




(33)
    ' g i  x   g imin  , g 0 ,  ,    ' g imax - g i  x , g 0 ,  ,  g ih   x   0 ,
i 1
gdzie:
Nx
hi z   x   
j1
 hi x
dj ,
 xj
(34)
gi  x 
dj .
 xj
(35)
Nx
gih   x   
j1



Po uwzględnieniu podstawienia pi  x    ' gi  x   gimin  , g 0 , ,   ' gimax - gi  x , g 0 , , 
Nx
d  z ,h    Nx  f  x 
 2 f  x  2 1 Nh

d j  
d j   hi  x   hid   x  hi z   x  
2
d
xj
 i1
j1  x j
j1



Ng
(36)
   pi  x g ih   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 ,
d2
 x 2j
 i 1
j1


2
(37)
z równania (33) otrzymujemy długość kroku  :
g
 f x
1 Nh
d 




d

h
x
h
x


pi  x g ih   x 



j
i
i

x

j1
i 1
i 1
j
N
Nx

 2 f  x  2 1 Nh d 
d j   hi  x 

 x 2j
 i1
j1

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 ih   x  



j
i
i
 i 1
j1  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   
d2
,
(40)
d 2   z ,h   
wyraża się wzorem (37).
d2
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(i1)  K ( X (i1) ) .
(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(i1)  K ( X (i1) )  D(i1) ,
(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 TVx
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  Vf  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.