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