opc_4.
Transkrypt
opc_4.
Optymalizacja procesów cieplnych Część I 1 Wykład 4 5. Metody iteracyjne optymalizacji. Metody iteracyjne polegają na takim zorganizowaniu procedur numerycznych szukania ekstremum funkcji kryterialnej S(y1, y2, ..., ys) (5.1) w których, startując z dowolnego punktu Y0 ≡ (y10, y20, ..., ys0) W kolejnych cyklach obliczeniowych, uzyskuje się coraz lepsze przybliżenie Y1 ≡ (y11, y21, ..., ys1) Y2 ≡ (y12, y22, ..., ys2) ------------------------punktu optymalnego Yopt. W punkcie tym funkcja kryterialna S(Yopt) = minimum (lub maksimum) Procedury iteracyjne muszą zapewnić wzrost lub spadek wartości funkcji S w kolejnych cyklach w zależności od tego czy szukane jest maksimum, czy minimum funkcji S. Wyróżnia się dwa rodzaje iteracyjnych metod szukania ekstremum: a) metody bezpośrednie ( bezgradientowe), które wymagają jedynie obliczania wartości samej funkcji S, Optymalizacja procesów cieplnych Część I 2 Wykład 4 b) metody gradientowe, które wymagają obliczania zarówno wartości funkcji S jak i jej pierwszych pochodnych ∂S , będących składowymi wektora gradientu ∂y i G funkcji S G= ∂S ∂S ∂S ŷ1 + ŷ 2 + K + ŷs ∂y1 ∂y 2 ∂ys (5.2) gdzie ŷ1 , ŷ 2 ,K, ŷ s - wektory jednostkowe osi yi. Przy poszukiwaniu minimum funkcji S (zadanie na maksimum można zawsze sprowadzić do zadania na minimum poprzez zmianę znaku funkcji kryterialnej S) korzysta się z algorytmów szukania w zadanym kierunku K = [ k1, k2, ..., ks] (5.3) Dokonuje się przejść od jednego przybliżenia do drugiego lepszego przybliżenia funkcji S wzdłuż określonej prostej, która wyznacza aktualny kierunek poszukiwań. Równania parametryczne takiej prostej, przechodzącej przez punkt Y0 = ( y10, y20, ..., ys0) można zapisać w postaci: y1 = y10 + k1l y2 = y20 + k2l ---------------ys = ys0 + ksl (5.4) Optymalizacja procesów cieplnych gdzie: Część I 3 Wykład 4 l – parametr oznaczający długość kroku, k1, k2, ..., ks – współrzędne wektora kierunkowego K równoległego do prostej, wzdłuż której dokonywane jest przejście od Y0 do Y1. Równanie prostej (5.4) można zapisać w postaci wektorowej: Y = Y0 + K⋅l (5.5) Poszukiwanie minimum funkcji S w kierunku K sprowadza się do znalezienia takiej wartości kroku l, która minimalizuje funkcję: Sk = S(Y0 + K⋅l) = S( y10 + k1l, y20 + k2l +....+ ys0 + ksl) (5.6) Zadanie sprowadza się zatem do minimalizacji funkcji jednej zmiennej l w kolejnych cyklach iteracyjnych. 5.1 Metody bezpośrednie szukania ekstremum. 5.1.1 Metoda Gaussa – Seidela. Polega ona na poruszaniu się przestrzeni (y1, y2, ..., ys) kolejno w kierunkach równoległych do każdej z osi yi Optymalizacja procesów cieplnych Część I 4 Wykład 4 y2 c S= S(Yopt)=minimum st on K3 3 Y Y2 K2 0 Y K1 1 Y y1 Zasada metody Gaussa – Seidela dla s = 2 Podczas każdego ruchu poszukiwane jest minimum kierunkowe funkcji S(Yi-1 + Ki ⋅ li) (5.7) Wypada ono w punkcie, w którym prosta oznaczająca kierunek ruchu staje się styczna do konturu S = const (w praktyce kontury te nie są wyznaczane). W metodzie Gaussa – Seidela stosuje się sztywny schemat postępowania – kierunki równoległe do osi yi. Wektory kierunkowe Ki w kolejnych cyklach iteracyjnych, dla zagadnienia dwuwymiarowego s = 2 (jak na rysunku) określa zestawienie: 1 , 0 Ki = 0 , 1 dla i = 1, i = 3, .... dla i = 2, i = 4, .... (5.8) Obliczenia można przyspieszyć przez lepszy dobór kierunków dalszego postępowania. 5.1.2 Metoda Powella. Optymalizacja procesów cieplnych Część I 5 Wykład 4 Metodę można zaprezentować dla funkcji S(y1, y2) dwóch zmiennych niezależnych y1, y2: y2 S(Yopt)=minimum 3 Y K3’ 5 Y K1’ K2’ 4 Y Y2 3 K 2 K Y0 K1 S st on c = Y1 y1 1) Startuje się z punktu Y0 = (y10, y20) i przeprowadza minimalizację funkcji S wzdłuż kierunku K1 = (1, 0): S(Y0 + K1⋅l) = S(y10 + 1⋅l, y20) (5.9) 2) Wyznacza to punkt Y1 = (y11, y21) 3) Następnie wykonuje się ruch w kierunku K2 = (0, 1) do minimum kierunkowego w punkcie Y2 = (y12, y22) 4) Dotąd szukano ekstremum tak jak w metodzie Gaussa – Seidela 5) Następnie wyznacza się składowe tzw. Kierunku sprzężonego K3 6) Teraz minimalizacja przesunięcia (kroku l) przebiega wzdłuż kierunku K3 i prowadzi do punktu Y3 = (y13, y23) 7) Dokonywana jest modyfikacja kierunków K2 ⇒ K1’ oraz K3 ⇒K2’ 8) Cykl powtarza się od punktu Y3 przyjętego teraz za startowy Y0’. Optymalizacja procesów cieplnych Część I 6 Wykład 4 Przykład zastosowania metody Powella Zbadać minimum funkcji kryterialnej S = 10⋅(y1 + y2 – 5)2 + (y1 – y2)2 (5.10) Wstępnie należy zminimalizować S wzdłuż kierunków ortogonalnej bazy początkowej K1w , K2w (5.11) zgodnie z metodą Gausa – Seidela 1 K 1w = 0 0 K2w = 1 (5.12) y2 3 S=0 Y3=Y0 ’ Y’ K3 1 K’ S=6.818 K2’ Y2 1 Y’ 2 K 2 2 1 S=250 0w Y 0 1 Y1 K1 1w K 2 3 4 K2w S=22.73 1w Y 5 y1 Startując z punktu Y0w = (0, 0) 0 Y0w = 0 (5.13) Optymalizacja procesów cieplnych Część I 7 Wykład 4 dokonujemy jednokierunkowego szukania wzdłuż osi y1. Długość kroku l1w musi minimalizować funkcję S(Y0w + K1w⋅l1w) = S(0 + 1⋅l1w, 0 + 0⋅l1w) = S(l1w, 0) (5.14) Na podstawie wzoru (5.10) minimalizuje się wyrażenie Dla S = 10⋅(l1w – 5)2 + (l1w)2 (5.15) l̂1w = 4.545 (5.16) 4.545 Y1w = 0 (5.17) ∂S = 0 otrzymuje się ∂l1w Wyznacza to punkt Y1w Wartość funkcji S zmniejszyła się z S(0, 0) = 250 do S(4.545, 0) = 22.727. W drugim kroku wstępnym dla kierunku K2w = (0, 1) minimalizujemy funkcję S(Y1w + K2w⋅l2w) = S(4.545 + 0⋅l2w, 0 + 1⋅l2w) = S(4.545, l2w) (5.18) Po wprowadzeniu do wzoru (5.10) minimalizujemy wyrażenie: S = 10⋅(4.545 + l2w – 5)2 + (4.545 + l2w)2 (5.19) Optymalizacja procesów cieplnych Dla Część I 8 Wykład 4 ∂S 2w l̂ = 0.826 . = 0 otrzymuje się ∂l 2 w Wyznacza to punkt Y2w 4.545 Y 2w = 0.826 (5.20) oraz wartość S(Y2w) = 15.214 Dotychczas postępowano zgodnie z metodą Gaussa – Seidela. Teraz można rozpocząć właściwą procedurę metody Powella. Punkt Y2w staje się punktem startowym 4.545 Y 0 = Y 2w = 0.826 (5.21) Pierwszy krok l1 wykonuje się w kierunku K1 1 K1 = 0 (5.22) S( Y0 + K1⋅l1) = S(4.545 + 1⋅l1, 0.826 + 0⋅l1) (5.23) i minimalizuje funkcję: Po wprowadzeniu do wzoru (5.10) minimalizujemy wyrażenie: S = 10⋅(4.545 + l1 + 0.826 – 5)2 + 4.545 + l1 – 0.826)2 (5.24) Optymalizacja procesów cieplnych Dla Część I 9 Wykład 4 ∂S 1 l̂ = −0.676 co wyznacza punkt Y1 = 0 otrzymuje się 1 ∂l 3.869 Y1 = 0.826 (5.25) oraz S(Y1) = 10.185. Drugi krok l2 wykonuje się w kierunku K2 0 K2 = 1 (5.26) i minimalizuje funkcję S(Y1 + K2⋅l2) = S(3.869 + 0⋅l2, 0.826 + 1⋅l2) (5.27) Po wprowadzeniu do wzoru (5.10) minimalizować należy wyrażenie: S = 10⋅(3.869 + 0.826 + l2 – 5)2 + (3.869 – 0.826 – l2)2 Dla (5.28) ∂S = 0 otrzymuje się l̂ 2 = 0.554 co wyznacza punkt Y2 2 ∂l 3.869 Y2 = 1.380 (5.29) w którym S(Y2) = 6.818. (5.30) Optymalizacja procesów cieplnych Część I 10 Wykład 4 Dopiero teraz wprowadzony być może charakterystyczny dla metody Powella kierunek sprzężony K3, tj. kierunek prostej przechodzącej przez punkty Y0 i Y2: 4.545 3.869 4.545 − 3.869 0.676 K3 = Y0 − Y2 = − 1.380 = 0.826 − 1.380 = − 0.554 0 . 826 (5.31) Teraz należy zbadać optimum kierunkowe funkcji S wzdłuż kierunku K3: S( Y2 + K3⋅l3) = S( y13, y23) = S(3.869 + 0.676⋅l3, 1.380 - 0.554⋅l3) (5.32) Po wprowadzeniu wartości y13 i y23 do wzoru (5.10) otrzymuje się wyrażenie S = 10⋅(3.869 + 0.676⋅l3 + 1.380 – 0.554⋅l3 – 5)2 + (5.33) + (3.869 + 0.676⋅l3 + 1.380 + 0.554⋅l3)2 Dla ∂S = 0 uzyskuje się długość kroku ∂l 3 l̂ 3 = −2.025 (5.34) 3.869 + 0.676 ⋅ (− 2.025) 2.500 Y3 = = 2.500 ( ) − ⋅ − 1 . 380 0 . 554 2 . 025 (5.35) która wyznacza punkt Y3 Optymalizacja procesów cieplnych Część I 11 Wykład 4 Z powyższego badania otrzymuje się punkt startowy Y0’ dla drugiego cyklu w metodzie Powella: 2.500 Y 01 = Y 3 = 2.500 (5.36) przy wartości funkcji S w punkcie Y01 zgodnie ze wzorem (5.10): S(Y01) = S( 2.5, 2.5) = 10⋅( 2.5 + 2.5 –5)2 + (2.5 – 2.5)2 = 0 W tym miejscu kończy się pierwszy cykl iteracyjny. W drugim cyklu iteracyjnym w metodzie Powella następuje modyfikacja kierunków poszukiwań włączająca kierunek sprzężony według reguły: K1’ = K2 oraz K2’ = K3 (5.37) czyli: 0 K1 ' = 1 0.676 K2 ' = − 0.554 (5.38) Start w kierunku K1’ daje funkcję S( Y01 + K1’⋅l1’) = S(2.5 + 0⋅l1’, 2.5 + 1⋅l1’) (5.39) Stąd na podstawie wzoru (5.10) otrzymuje się wyrażenie: S = 10⋅( 2.5 + 2.5 + l1’ – 5)2 + ( 2.5 - 2.5 - l1’)2 = 10⋅(l1’)2 – (l1’)2 Optymalizacja procesów cieplnych Część I 12 Wykład 4 które ma minimum dla ∂S = 20 ⋅ l1 '−2 ⋅ l1 ' = 18 ⋅ l1 ' = 0 ⇒ 1 ∂l ' l̂ 1 ' = 0 (5.40) Wynik l̂ 1 ' = 0 oznacza, że nie można opuścić punktu Y01 w kierunku K1’ Start z punktu Y1’ = Y01 w kierunku K2’ daje funkcję: S( Y1’ + K2’⋅l2’) = S(2.5 + 0.676⋅l2’, 2.5 – 0.554⋅l2’) (5.41) Stąd na podstawie wzoru (5.10) otrzymuje się wyrażenie: S = 10⋅( 2.5 + 0.676⋅l2’ + 2.5 – 0.554⋅l2’ – 5)2 + + ( 2.5 + 0.676⋅l2’ + 2.5 – 0.554⋅l2’)2 = (5.42) = 0.149⋅( l2’)2 + 1.513⋅( l2’)2 = 1.662⋅( l2’)2 które osiąga minimum dla: ∂S = 3.26 ⋅ l 2 ' = 0 ⇒ 2 ∂l ' l̂ 2 ' = 0 (5.43) Wynik ten oznacza, że nie można opuścić punktu Y1’ = Y01 w kierunku K2’ Konkluzja: Nie jest możliwe opuszczenie punktu Y01 w jakimkolwiek kierunku. Optymalizacja procesów cieplnych Część I Wykład 4 Rozwiązanie zadania: Funkcja kryterialna: S = 10⋅(y1 + y2 – 5)2 + (y1 – y2)2 Posiada minimum w punkcie: Yopt = ( y1opt, y2opt ) = (2.5, 2.5) którego wartość wynosi: S( Yopt) = S(2.5, 2.5) = 0 13