opc_5.

Transkrypt

opc_5.
Optymalizacja
procesów
cieplnych
Część I
1
Wykład 5
5.2 Metody gradientowe szukania ekstremum.
Metody gradientowe wymagają informacji o:
- wartościach funkcji kryterialnej S,
- wszystkich składowych wektora gradientu
G=
∂S
∂S
∂S
ys
y2 + L +
y1 +
∂y1
∂y 2
∂y s
(5.44)
Znajomość wektora G ma zasadniczy wpływ na ustalenie kierunku ruchu K .
5.2.1 Metoda najszybszego spadku.
Wykorzystuje kierunek poszukiwania minimum, którym jest kierunek ujemnego
gradientu funkcji S
K = −G
(5.45)
W przypadku poszukiwania maksimum obowiązuje zasada
K=G
y1
(5.46)
S=const
0
Y
0
-G
2
Y
-G1
Y1
y2
Zasada metody najszybszego spadku dla s=2
Optymalizacja
procesów
cieplnych
Część I
2
Wykład 5
Przykład zastosowania metody najszybszego spadku:
W procesie trójstopniowego sprężania gazu ( o własnościach zbliżonych do gazu
doskonałego) z dochodzeniem do temperatury T po każdym stopniu. Pracę sprężania
1 kmola gazu wyraża wzór:
κ −1
κ −1
κ −1


κ
κ
κ






y
p
 κ   y1 

S = RT
   +  2  +  k  − 3
(5.47)
 κ −1   pp 
 y2 
 y1 


gdzie:
κ=
cp
cv
,
T – temperatura gazu,
R – indywidualna stała gazowa
pp – ciśnienie początkowe,
pk – ciśnienie końcowe,
y1 – ciśnienie na końcu pierwszego stopnia,
y2 – ciśnienie na końcu drugiego stopnia.
pk
y2
y2
y1
y1
pp
Optymalizacja
procesów
cieplnych
Część I
3
Wykład 5
Stosując metodę najszybszego spadku, należy określić ciśnienia międzystopniowe y1
i y2 tak, aby praca S była minimalna. Przyjąć dane liczbowe:
pp = 105 [Pa],
pk = 106 [Pa],
κ = 1.4
Przebieg procesu sprężania w sprężarce z trzema grupami stopni chłodzenia
przedstawiono na wykresie T-S
III2’’s
III2’’=2’’
T
II2’s
II2
III2
III2s
2’
2
=P
P III2
II2s
III1
1
III
=P
P II2
II2’
II1
II1
=P
P I2
=P
P I1
1
S
Wystarczy minimalizować funkcję
κ −1
κ −1
κ −1


κ
κ
 y2 
 pk  κ
κ  y1 
S

=
+   +   − 3
S' =

RT κ − 1  p p 
 y1 
 y2 


(5.47)
Optymalizacja
procesów
cieplnych
Część I
4
Wykład 5
której składowe gradientu wynoszą
g1 =
1− κ
1− 2 κ
−1
κ −1
∂S'
= (p p ) κ ⋅ (y1 ) κ − (y 2 ) κ ⋅ (y1 ) κ
∂y1
(5.48)
−1
κ −1
1− κ
1− 2 κ
∂S'
κ
κ
κ
g2 =
= (y1 ) ⋅ (y 2 ) − (p k ) ⋅ (y 2 ) κ
∂y 2
(5.49)
Przyjmijmy punkt startowy
 (y1 )0  4 ⋅105 
Y =
=
0
5
(
)
y
 2  7 ⋅10 
0
(5.50)
Po wprowadzeniu tych wartości do składowych gradientu otrzymuje się kierunek
poszukiwań wyznaczony wektorem
0
 − (g1 )0 
 (k1 )0 
=−G =
K =
0
0
(
)
k
− (g 2 ) 
 2 
()
()
0
III
2’
III2
II
III1
II2
(5.51)
I
II1
I2
1=I1
Optymalizacja
procesów
cieplnych
Część I
5
Wykład 5
którego współrzędne wynoszą
(k1 )0 = −(g1 )0 = −0.079 ⋅10−5
(k 2 )0 = −(g 2 )0 = −0.009 ⋅10−5
(5.52)
Przejście do nowego punktu Y1=(y11, y21) opisuje zależność wektorowa
Y 1 = Y 0 + l0 K 0
(5.53)
Która daje dwa równania
(y1 )1 = (y1 )0 − 0.079 ⋅10−5 ⋅ l 0 = 4 ⋅105 − 0.079 ⋅10−5 ⋅ l 0
(5.54)
(y 2 )1 = (y 2 )0 − 0.009 ⋅ 10− 5 ⋅ l0 = 7 ⋅ 105 − 0.009 ⋅ 10− 5 ⋅ l0
(5.55)
Należy teraz znaleźć optymalny krok l̂ 0 wzdłuż kierunku K0, który minimalizuje
wyrażenie
(
S'k 4 ⋅105 − 0.079 ⋅10 −5 ⋅ l 0 ,7 ⋅105 − 0.009 ⋅10 −5 ⋅ l0
)
(5.56)
Wobec zależności (5.47) oznacza to, że jest szukane minimum funkcji jednej zmiennej
Optymalizacja
procesów
cieplnych
Część I
6
Wykład 5
κ −1

−5 ~0
κ  4 − 0.079 ⋅ 10 ⋅ l  κ
'

 +
Sk =
κ − 1 
l


 7 − 0.009 ⋅ 10− 5 ⋅ ~l 0 

+ 
−5 ~0 
−
⋅
⋅
4
0
.
079
10
l


~0
względem l = 10
−10
κ −1
κ
10


+
~
−5
0
 7 − 0.009 ⋅ 10 ⋅ l 
κ −1
κ

− 3


(5.57)
⋅ l 0 , dla κ = 1.4
Funkcja (5.57) przyjmuje minimum gdy
∂S'k
~ =0
∂l 0
~0
l = 17
l 0 = 17 ⋅1010
(5.58)
co pozwala na wyznaczenie punktu Y1 i wartości S’k w tym punkcie
 (y1 )1  (4 − 0.079 ⋅ 17 ) ⋅ 105  2.66 ⋅ 105 
Y =
=
=
1
5
5
(
)
7
0
.
009
17
10
−
⋅
⋅
(
)
y
 6.85 ⋅ 10 
 2  
1
[
(5.59)
]
S'k (y1 ) , (y 2 ) = 2.615
1
1
Uzyskane wyniki służą do wyznaczenia wektora kierunku dla drugiej iteracji,
 (k1 )1   − (g1 )1 
=
K =
1
1
(
)
k
 2  − (g 2 ) 
1
(5.60)
Optymalizacja
procesów
cieplnych
Część I
7
Wykład 5
w której minimalizuje się wyrażenie
[
S'k 2.66 ⋅10 −5 + (k1 ) ⋅ l1 , 6.85 ⋅10 −5 + (k 2 ) ⋅ l1
1
1
]
(5.61)
względem l1; itd.
Optymalne ciśnienia wynoszą:
y1 = 2.16*105
y2 = 4.64*105 [N/m2].
5.2.2 Metoda gradientu prostego.
Metoda ta różni się od metody najszybszego spadku tylko tym, że przyjmuje się w
niej parametr długości kroku l jako znany, a nie określany w wyniku ekstremalizacji.
y2
Y2
-G1
Y5
Y6
Y4 -G4 -G5
3
Y -G3
2
-G
Y1
-G0
Y0
S(y
1, y
2
)=co
nst
y1
Zasada metody gradientu prostego dla s = 2
Optymalizacja
procesów
cieplnych
Część I
8
Wykład 5
Na każdym etapie optymalizacyjnym sprawdza się, czy funkcja kryterialna S maleje,
a jeśli tak nie jest to bada się spełnienie kryterium na minimum. W przypadku
niepomyślnym zmniejsza się krok i ponawia obliczenia.
Konkluzja:
Zbieżność obu przedstawionych metod : najszybszego spadku i gradientu prostego
jest stosunkowo powolna. Maleje ona wyraźnie, jeśli minimum znajduje się w wąskiej i
długiej dolinie.
5.2.3 Metody kierunków sprzężonych
Jest to grupa metod wykorzystujących kierunki sprzężone. Zakłada się, że w
sąsiedztwie minimum funkcja kryterialna S może być aproksymowana przez dodatnio
określoną formę kwadratową o stałej macierzy A, której elementami są drugie pochodne
funkcji kryterialnej
A=
∂ 2S
∂y i ∂y k
i, k = 1,2,..., s
(5.62)
Dla macierzy A definiuje się kierunki sprzężone określone wektorami
K0, K1, ..., Ks-1
(5.63)
Optymalizacja
procesów
cieplnych
Część I
9
Wykład 5
Dla których zachodzi równość
(K )
1 T
⋅ A ⋅ Km = 0
dla
l≠m
(5.64)
Formułuje się twierdzenie:
Jeśli K0, K1, ..., Ks-1 są wektorami wzajemnie sprzężonymi ze względu na dodatnio
określoną macierz A, to minimum formy kwadratowej aproksymującej
1
S ≅ a + BT ⋅ Y + Y T ⋅ A ⋅ Y
2
(5.65)
może być znalezione z dowolnego punktu Y0 przez skończoną liczbę minimalizacji w
kierunkach K0, K1, ..., Ks-1 , przy czym każdy z wektorów Ki jest użyty tylko raz.
Procedury iteracyjne oparte na tym twierdzeniu określa się jako mające zbieżność
drugiego rzędu.
Dla dowolnej funkcji S, która nie jest kwadratowa, wykorzystanie kierunków sprzężonych
prowadzi w sąsiedztwo minimum i procedurę powtarza się do osiągnięcia założonej
dokładności.
W metodzie Davidona wykorzystuje się sprzężenie oparte na zależności
Ki = -A-1 ( Yi ) • G ( Yi )
(5.66)
Uwaga:
Gdyby była znana macierz odwrotna drugich pochodnych A-1, to można byłoby
wyznaczyć ekstremum funkcji kwadratowej w jednym kroku.
Optymalizacja
procesów
cieplnych
Część I
10
Wykład 5
W metodzie Davidona macierz A-1 nie jest obliczana bezpośrednio. Zamiast niej
przyjmuje się początkowo dowolną dodatnio określoną macierz symetryczną H0
(najczęściej macierz jednostkową). Macierz H0 jest po każdej iteracji modyfikowana tak,
aby coraz lepiej aproksymować macierz A-1.
Algorytm obliczeniowy w zapisie wektorowym dla metody Davidona jest następujący:
1. Oblicz
Ki = -Hi ⋅ Gi
startując z
i=0
(5.67)
2. Znajdź l̂ i minimalizując funkcję
(Sk)i = S( Yi + li ⋅ Ki )
(5.68)
Yi+1 = Yi + l̂ i ⋅ Ki
(5.69)
Zi = Gi+1 - Gi
(5.70)
l̂ i ⋅ K i ⋅ K iT H i ⋅ Zi ⋅ ZiT ⋅ H i
= H + iT i i −
G ⋅H ⋅G
ZiT ⋅ H i ⋅ Zi
(5.71)
3. Oblicz
oraz
4. Oblicz
H
i +1
i
5. Podstaw i = i + 1 oraz powtórz procedurę
Optymalizacja
procesów
cieplnych
Część I
11
Wykład 5
Po s iteracjach procedura będzie zakończona jeśli:
i
i
- każda ze składowych wektora kroku l̂ K < ε1
i
- każda ze składowych wektora kierunku K < ε 2
Jeśli kryteria te nie są spełnione, to podstawia się H0 zamiast H1 i powtarza procedurę
od kroku (2), ustawiając wskaźnik i = 0
5.2.4 Porównanie trzech metod gradientowych
(1) metoda gradientu prostego,
(2) metoda najszybszego spadku
(3) metoda kierunków sprzężonych
y2
S(
y1 ,
y2 )
=c
on
st
1
3
2
y1
Optymalizacja
procesów
cieplnych
Część I
12
Wykład 5
W metodach (1) i (2) przyjmuje się kierunek poszukiwań zawsze wzdłuż gradientu:
iT
 ∂S
 
⋅ y s   = −G i
K i = 
 Y i 
 ∂y s
(5.72)
(w przypadku minimalizacji)
W metodzie gradientu prostego krok jest stały, a w metodzie najszybszego spadku krok
dobiera się tak, aby uzyskać maksimum zmiany wartości funkcji na kierunku Ki. Metoda
(3) jest znacznie efektywniejsza od pozostałych. Kierunek poszukiwań Ki jest różny od
kierunku gradientu Gi.
Wektor Ki w i-tej iteracji określa się jako kombinację liniową gradientu Gi oraz wektora
Ki-1 z iteracji poprzedniej:
i
i
K = −G +
Gi , Gi
G i −1 , G i −1
K i −1
dla i = 1, 2,K
Symbol < > oznacza kombinację liniową (tzn. wielomian liniowy) złożoną z iloczynów, w
których występują wektory gradientów. Długość kroku l dobiera się minimalizując
funkcję Sk(Y) w kierunku Ki , wyznaczając minimum
Sk( Yi + liKi ) dla i = 1, 2, ...
Metoda gradientu sprzężonego daje najlepsze rezultaty gdy funkcja kryterialna S(Y) może
być w otoczeniu optimum dostatecznie dobrze aproksymowana formą kwadratową.
Funkcja S ma wówczas zbieżność drugiego rzędu.
Optymalizacja
procesów
cieplnych
Część I
13
Wykład 5
5.2.5 Zastosowanie metody Davidona.
Zadanie:
Zmiana wielkości produkcji przedsiębiorstwa oraz towarzysząca jej zmiana kosztów
magazynowania wprowadzają koszty operacyjne. Aby koszty te zmniejszyć, zmiany w
przedsiębiorstwie wprowadza się dwuetapowo. Jeżeli poziom produkcji w okresie
pierwszym I wynosi y1, w okresie II zaś y2, to funkcja kosztów przedsiębiorstwa wyraża
się wzorem:
S = 100( y1 – 15 )2 + 20( 28 – y1 )2 +
+ 100( y2 – y1 )2 + 20( 38 – y1 – y2 )2
(5.73)
Należy wyznaczyć y1 i y2 minimalizujące funkcję S stosując metodę Davidona.
Rozwiązanie:
Wektor gradientu ma współrzędne:
g1 = ∂S/∂y1 = 200( y1 – 15 ) + 40( 28 – y1 ) +
+ 200( y2 – y1 ) + 40( 38 – y1 – y2 )
g2 = ∂S/∂y2 = 200( y2 – y1 ) + 40( 38 – y1 – y2 )
(5.74)
(5.75)
Optymalizacja
procesów
cieplnych
Część I
14
Wykład 5
Aby rozpocząć obliczenia, należy wybrać dowolny punkt startowy Y0 i macierz H0, np.:
10 
Y0 =  
14 
 1 0
H0 = 

 0 1
(5.76)
W punkcie Y0 składowe gradientu (5.74) i (5.75) wynoszą:
 ∂S 
 ∂y 
 (g1 )0 
 − 3080
0
1
G =
=
=



0
∂S 


(g 2 ) 10,14  240 
 ∂y 2 10,14
(5.77)
Na podstawie zależności (5.67) etap (1) kierunek startowy wynosi:
1 0  − 3080  3080 
K0 = −K0 ⋅ G0 = −
 ⋅  240  =  − 240
0
1
 

 

(5.78)
lub w postaci znormalizowanej:
(K n )0
3080


0
2
2

  0.997 
K
= 0 =  3080 + 240  = 

− 240
K

  − 0.078
2
2
 3080 + 240 
(5.79)
Optymalizacja
procesów
cieplnych
Część I
15
Wykład 5
Zgodnie z etapem (2) algorytmu należy minimalizować funkcję:
[
0
] [
0
0
0
0
S Y 0 + K n ⋅ l 0 = S y1 + k n1 ⋅ l 0 , y 2 + k n 2 ⋅ l 0
]
(5.80)
czyli
Sk0 = 100( 10 + 0.997⋅l0 - 15 )2 +
+ 20( 28 – 10 – 0.997⋅l0 )2 +
(5.81)
+ 100( 14 – 0.078⋅l0 – 10 – 0.997⋅l0 )2 +
+ 20( 38 – 10 – 0.997⋅l0 – 14 + 0.078⋅l0 )2
0
∂Sk
Przyrównanie do zera pochodnej
= 0 daje l̂ 0 = 6.136
0
∂l
Co pozwala wyznaczyć punkt Y1:
10
 0.997  16.12
0
Y = Y 0 + l̂ 0 ⋅ K n =   + 6.136 ⋅ 

=
14
 − 0.078 13.52
(5.82)
oraz
 ∂S 
 ∂y 
 − 65.6 
G1 =  1  = 

∂S
− 854.4


 ∂y 2  Y1
(5.83)
a także
 − 65.6   − 3080  3014.4 
Z 0 = G1 − G 0 = 
=

−
 − 854.4  240   − 1094.4
(5.84)
Optymalizacja
procesów
cieplnych
Część I
16
Wykład 5
Zgodnie z równaniem (5.71) dla etapu (4) poprawiona macierz H1 wynosi:
 3080 
⋅ [3080 − 240]
6.136 ⋅ 

1
0
−
240




+
H1 = 
+

−
1
0
3080
0
1





 [− 3080 240]⋅
⋅


0 1  240 
1 0 
1 0  3014.4 
[
]
⋅
−
⋅
⋅
3014
.
4
1094
.
4
0 1 
0 1  − 1094.4






−
1 0
3014.4 
[3014.4 − 1094.4]⋅   ⋅ 

0 1  − 1094.4
− 0.1517
 6.216
H1 = 

 − 0.1517 0.9209 
(5.85)
W tym miejscu kończą się obliczenia dla pierwszej iteracji. Punkt
16.12
Y1 = 

13.52
(5.86)
służy teraz jako punkt startowy następnej iteracji, dla której wektor kierunku wynosi:
− 0.1517  − 65.6  278.16
 6.216
K1 = − H 1 ⋅ G1 = − 
 ⋅  − 854.4 = 776.35 (5.87)
−
0
.
1517
0
.
9209


 
 
Optymalizacja
procesów
cieplnych
Część I
17
Wykład 5
lub w postaci znormalizowanej
0.337
1
Kn = 

 0.941
(5.88)
Teraz zgodnie z etapem (2) algorytmu należy obliczyć minimum funkcji
S( Y1 + Kn1⋅l1 ) = S( y11 + kn11⋅l1, y21 + kn21⋅l1 )
(5.89)
Po wstawieniu wartości liczbowych do zależności (5.73) otrzymuje się funkcję zmiennej
l1, która ma minimum dla
1
∂S k
=0
∂l1
przy
l̂1 = 4.990
(5.90)
Krok ten wyznacza punkt Y2:
16.12
0.337 17.82
1
+
⋅
4
.
99
Y 2 = Y1 + l̂1 ⋅ K n = 

 0.941 = 18.21 (5.91)
13
.
52



 

 ∂S 
 ∂y 
 0
2
G =  1 =  
∂S
 0


 ∂y 2  Y 2
(5.92)
Optymalizacja
procesów
cieplnych
Część I
Wykład 5
Zerowe wartości gradientu G2 oznaczają, że punkt Y2 jest rozwiązaniem zadania. W
punkcie tym funkcja S posiada minimum.
55
35 000
0
2 5 00
00
15
0
00
0
35
Poziom produkcji w drugim okresie y2
30
25
80
00
40
20
00
15
10
5
0
0
10
15
20
25
5
Poziom produkcji w pierwszym okresie y1
30
Poszukiwanie minimum metodą Davidona ( s = 2 )
18

Podobne dokumenty