spr4 Spraw 4

FUNKCJA: f(x1 , x2 ) = (x1+1)2 + (x2+3)2 + 2(x1+1)4 + (x2+3)4 +( x1+1)( x2+3)

Obliczenia analityczne punktu optymalnego:

$\frac{\partial f}{\partial x1}$ = 2(x1+1) + 8(x1 +1)3 + (x2+3) = 0

Każdy składnik musi wynosić zero, więc:

$\frac{\partial f}{\partial x2}$ = 2(x2+3) + 4(x2 +3)2 + (x1+1) = 0

x1+1 = 0 x1 = - 1

x1+3 = 0 x2 = - 3

x0 = $\begin{bmatrix} x_{10} \\ x_{20} \\ \end{bmatrix}$ = $\begin{bmatrix} - 1 \\ - 3 \\ \end{bmatrix}$ - ekstremum (punkt stacjonarny)

H (x10, x20) =$\text{\ \ }\begin{bmatrix} \ 2 + 24{( - 1 + 1)}^{2} & 1 \\ 1 & 2 + 12{( - 3 + 3)}^{2\ } \\ \end{bmatrix}$ = $\begin{bmatrix} 2 & 1 \\ 1 & 2 \\ \end{bmatrix}$

det( H (x10, x20) ) = 4 – 1 = 3 > 0 - ekstremum lokalne

$\frac{\partial_{}^{2}f}{\partial x_{1^{2}}}$ = 2 + 24 * 02 = 2 > 0 minimum lokalne w punkcie x0 = $\begin{bmatrix} - 1 \\ - 3 \\ \end{bmatrix}$

METODA NEWTONA – RAPHSONA

G = $\begin{bmatrix} \frac{\partial f}{\partial x_{1}} \\ \frac{\partial f}{\partial x_{2}} \\ \end{bmatrix}$ H = $\begin{bmatrix} \frac{\partial_{}^{2}f}{\partial x_{1}^{2}} & \frac{\partial_{}^{2}f}{\partial x_{1}x_{2}} \\ \frac{\partial_{}^{2}f}{\partial x_{1}x_{2}} & \frac{\partial_{}^{2}f}{\partial x_{2}^{2}} \\ \end{bmatrix}$

xn+1 = xn – H-1(xn)*G(xn)

Obliczenia dla wywołania funkcji: newton_r([0;0], 0.001, 100) , gdzie [0;0] wektor punktu początkowego od którego zaczynamy liczyć, 0.001 dobrana dokładność, a 100 to maksymalna ilość iteracji

KOD PROGRAMU:

Otrzymane optymalne wartości to : x1 = - 1

x2 = - 3

Liczba iteracji do otrzymanej dokładności: 9

METODA FUNKCJI KARY

Dla ograniczenia równościowego: x1 + 5x2 = 5 , zmodyfikowana funkcja ma postać:

f*(x1,x2) = f(x1,x2) + $\frac{1}{\sqrt{r}}\ $(x1 + 5x2 – 5)2

KOD PROGRAMU:

Podfunkcja dla ograniczenia równościowego:

Podfunkcja dla ograniczenia nierównościowego:

Kod główny:

Wywołania funkcji z ograniczeniem równościowym:

Dla ograniczenia równościowego x1 + 5x2 = 5 wykonano obliczenia punktu minimalnego dla różnego doboru parametrów optymalizacji z założeniem wektora wartości początkowych spełniającego zadane ograniczenie.

  1. newton_r_o([0 1], 0.001, 100, 1.5, 200)

Optymalne wartości:

x1=0.715

x2=0.852

Wartość funkcji:

f(x1,x2)=262.422

Wykonane iteracje:

i=45

  1. newton_r_o([0 1], 0.001, 100, 2, 200)

Optymalne wartości:

x1=0.716

x2=0.854

Wartość funkcji:

f(x1,x2)=262.695

Wykonane iteracje:

i=28

  1. newton_r_o([0 1], 0.001, 100, 4, 200)

Optymalne wartości:

x1=0.716

x2=0.855

Wartość funkcji:

f(x1,x2)=262.869

Wykonane iteracje:

i=15

  1. newton_r_o([0 1], 0.001, 100, 15, 200)

Optymalne wartości:

x1=0.716

x2=0.856

Wartość funkcji:

f(x1,x2)=262.930

Wykonane iteracje:

i=8

  1. newton_r_o([0 1], 0.001, 100, 30, 200)

Optymalne wartości:

x1=0.717

x2=0.856

Wartość funkcji:

f(x1,x2)=263.004

Wykonane iteracje:

i=7

  1. newton_r_o([0 1], 0.001, 100, 90, 200)

Optymalne wartości:

x1=0.717

x2=0.856

Wartość funkcji:

f(x1,x2)=262.968

Wykonane iteracje:

i=5

Dla zmiany ilorazu ciągu geometrycznego zmian r zmieniała się szybkość dochodzenia do wartości optymalnych. Dla wartości delty bliskich 1 liczba potrzebnych iteracji dość znacznie wzrastała. Natomiast dla dużo większych wartości liczba iteracji malała, aż do wartości około 5 co wynikało z konieczności uzyskania zadanej dokładności.

  1. newton_r_o([5 0], 0.001, 100, 2, 200)

Optymalne wartości:

x1=0.716

x2=0.854

Wartość funkcji:

f(x1,x2)=262.695

Wykonane iteracje:

i= 28

  1. newton_r_o([30 -5], 0.001, 100, 2, 200)

Optymalne wartości:

x1=0.716

x2=0.854

Wartość funkcji:

f(x1,x2)=262.695

Wykonane iteracje:

i=28

  1. newton_r_o([495 100], 0.001, 100, 2, 200)

Optymalne wartości:

x1=0.716

x2=0.854

Wartość funkcji:

f(x1,x2)=262.695

Wykonane iteracje:

i=28

Wykonując optymalizację dla różnych wartości punktów początkowych zarówno wyniki jak i sposoby dochodzenia do nich nie zmieniały się znacząco, jedyną różnicę przy przebiegach optymalizacji stanowił sposób zrealizowania pierwszych iteracji.

Wywołania funkcji z ograniczeniem nierównościowym:

Dla ograniczenia nierównościowego: x2 > 6 , zmodyfikowana funkcja ma postać:

f*(x1,x2) = f(x1,x2) – ($\text{\ \ }\frac{r}{6 - x_{2}}\text{\ \ }$)

Przy ograniczeniu nierównościowym najpierw wykonaliśmy obliczenia dla x0=[0 7], d=0.001 r=100, delta = 2. Program po wykonaniu 1 iteracji zwrócił wynik x1= - 0.005037 x2=6.000000 co zdaje się być wartością poprawną (wykres 10). Następnie kolejną próbę przeprowadzamy również dla x0 = [0 7], tylko dla innych wartości delt i r , co daje na podobne rezultaty - jedna iteracja i taki sam wynik. Przy zmianie x0 na [0 10] i dla r = 100 delta =2 obserwując przebieg optymalizacji na wykresie można zauważyć, że w pewnym momencie przybliżenia minimum wychodzą poza zadane ograniczenia. Prawdopodobną przyczyną jest to, że "bardziej opłacalne" dla algorytmu jest wyjście poza ograniczenie - daje większy spadek wartości funkcji (wykres 11). W celu uzyskania poprawnych przybliżeń minimum zdecydowano zwiększenie wartości współczynnika kary i zmniejszenie delty. Dla r=5000 i delty = 1.1 program zdaje się działać poprawnie i zwraca optymalne wartości w obszarze dopuszczalnym; są to x1= -1.998 x2=6.971 następuje to po 3 iteracjach, dla różnego doboru punktów początkowych przy tym samym r, delta oraz liczbie iteracji, otrzymane wyniki praktycznie nie ulegają zmianie, zmienia się jedynie sposób dochodzenie do wartości optymalnych (w zasadzie tylko pierwsza iteracja) co widoczne jest na załączonych wykresach(wykres 12 - newton_r_o([0 10], 0.001, 5000, 1.1, 3); wykres 13 - newton_r_o([8 10], 0.001, 5000, 1.1, 3); wykres 14 - newton_r_o([4 50], 0.001, 5000, 1.1, 3)).

WNIOSKI:

Poszukując minimum dla zadanej funkcji metodą Newtona-Raphsona sprowadzamy postępowanie do wyznaczania kolejnych kierunków poszukiwań wykorzystując do tego informację o wartości funkcji, jej gradiencie oraz hesjanie w otoczeniu ostatniego punktu przybliżenia minimum. Zastosowana metoda okazała się być bardzo efektywna gdyż po zaledwie 9 iteracjach pozwoliła wyznaczyć przybliżenie minimum z dokładnością do 0.001.

Dla zadania programowania nieliniowego z ograniczeniem skorzystano z metody funkcji kary, która pozwala na zastąpienie problemu minimalizacji w zbiorze dopuszczalnym problemem minimalizacji bez ograniczeń zmodyfikowanej funkcji celu, która powstaje przez dodanie do pierwotnej funkcji celu funkcji kary. Dla ograniczenia równościowego ww. metoda pozwala na dokładne i szybkie wyznaczenie rozwiązania optymalnego i zarówno dobór wartości współczynnika kary, jak i sposobu jego zmiany oraz punktów początkowych nie wpływa w znaczący sposób na otrzymywane przybliżenia. Natomiast korzystając z metody funkcji kary wymagana jest większa świadomość mechanizmu tej metody jak również działania samego programu. Dla zadanej funkcji wyniki, które można uznać za poprawne uzyskiwano dla stosunkowo dużych wartości współczynnika kary oraz dla "powolnych" jego zmian (iloraz ciągu geometrycznego jakimi były kolejne wartości r bliski 1).


Wyszukiwarka

Podobne podstrony:
Organy administracji do spraw ochrony środowiska
Dokumentowanie spraw bhp3, Służba-Bhp, Dokumentowanie spraw bhp
Tusk gra Polska, Film, dokument, publcystyka, Dokumenty dotyczące spraw bieżących
Seria zagadkowych śmierci i w Polsce i w Rosji, Film, dokument, publcystyka, Dokumenty dotyczące sp
378 audyt spraw, Audyt Wewnętrzny
Spraw 22b, Weterynaria Lublin, Biofizyka , fizyka - od Bejcy
spraw 4
~$spraw
spraw 5
Ebook Spraw 2 Netpress Digital
65 251102 konsultant do spraw systemow teleinformatycznych
Cw9 spraw PB szklo
79 w sprawie rzeczoznawców do spraw bezpieczeństwa i higieny pracy
Spraw. Ergon.1
równoważnik miedzi (spraw.), Studia SGGW, WNoŻ Inżynierskie 2008-2012, Sem II, Fizyka

więcej podobnych podstron