a<x
Transkrypt
a<x
Modelowanie i obliczenia techniczne Metody numeryczne w modelowaniu: Optymalizacja Zadanie optymalizacji Optymalizacja to ulepszanie lub poprawa jakości danego rozwiązania, projektu, opracowania. Celem optymalizacji jest osiągnięcie możliwie dobrego rozwiązania pod względem wybranego kryterium jakości, np. ergonomia uchwytu, sprawność silnika, doskonałość profilu skrzydła, itd. Jeżeli kryterium jakości można wyrazić w postaci zależności funkcyjnej od parametrów projektu czy rozwiązania, to możliwe jest zastosowanie metod numerycznych w celu przeprowadzenia optymalizacji. 2 Definicja optymalizacji Zazwyczaj kryterium jakości definiuje się jako funkcję kosztu (funkcję celu) lub błąd. Wówczas optymalizacja polega na minimalizacji tego kryterium, czyli poszukiwaniu minimum funkcji kosztu. Innymi słowy, jeżeli dana jest funkcja f : A → R, A ⊂ R n to optymalizacja polega na znalezieniu takiego punktu x* ∈ R n że dla każdego { } zachodzi nierównosc : x ∈ A \ x* f ( x ) > f x* 3 Przykład naturalnej optymalizacji – minimalizacja energii potencjalnej Układ fizyczny dąży do stan minimalnej energii potencjalnej. Nie zawsze jest to możliwe (minima lokalne). f(x) y Minimum lokalne Minimum globalne x 4 Techniczne zastosowania optymalizacji Projektowanie konstrukcji architektonicznych Projektowanie maszyn i narzędzi Projektowanie pojazdów i innych środków lokomocji Projektowanie obwodów elektronicznych, np. komputerów Projektowanie sieci energetycznych, informatycznych, telekomunikacyjnych itd. Planowanie trasy Logistyka Wiele innych. 5 Przykład – optymalizacja narzędzia Czy można zoptymalizować młotek? Parametry: - masa obucha, - długość trzonka Przykładowa funkcja kosztu: - zmęczenie podczas wbijania 1000 gwoździ (trudna do pomierzenia) Inna definicja – czas wbicia 1000 gwoździ. Zachodzi konieczność ustalenia innych parametrów, np. rozmiar gwoździa, kondycja i wytrenowanie pracownika. 6 Przykładowe kryteria optymalizacji Masa Wytrzymałość Trwałość Wielkość Cena Sprawność Poziom wytwarzanego hałasu, zakłóceń, spalin itd. Niektóre z kryteriów należy maksymalizować, ale można zmienić znak funkcji kosztu i zadanie sprowadzić do minimalizacji. 7 Ograniczenie przestrzeni poszukiwania minimum W zastosowaniach technicznych często narzucane są wartości graniczne parametrów rozwiązania, co prowadzi do ograniczenia zakresu poszukiwania minimum. Utworzony obszar może być skończony lub nieskończony – ograniczony. b b a a 8 Cele optymalizacji Optymalizacja lokalna – poszukiwanie pojedynczego minimum, zazwyczaj metody gradientowe (wykorzystujące pochodną albo jej numeryczne przybliżenie) Optymalizacja globalna – poszukiwanie minimum globalnego w obecności wielu minimów lokalnych. Zazwyczaj wykorzystywane są metody bazujące na wielokrotnym losowaniu punktu startowego. 9 Metody optymalizacji Analityczne - problemy liniowe (LP) – kryterium jest liniową funkcją parametrów - problemy kwadratowe (QP) – kwadratowe kryterium Numeryczne – dotyczą problemów nieliniowych (NP). Wykorzystują iteracyjne techniki poszukiwania minimum na podstawie analizy wartości funkcji kosztu w wielu punktach przestrzeni parametrów. 10 Przykład rozwiązywania równań nieliniowych przez optymalizację Przykład poszukiwania pierwiastka kwadratowego liczby x f(y) y = x ⇒ x = y2 równianie nieliniowe : y 2 − x = 0 ( funkcja kosztu : y → y 2 − x ) 2 y Poszukiwanie pierwiastków równania można sprowadzić do poszukiwania minimum odpowiednio zdefiniowanej funkcji kosztu. Jeżeli można wyznaczyć pochodne cząstkowe funkcji kosztu, to zadanie 11 optymalizacji można sprowadzić do rozwiązywania układów równań. Optymalizacja jednowymiarowa - metoda złotego podziału Jeżeli w przedziale <a,b> wartość funkcji dla: a<x1<x2<b spełnia nierówność: f(x1), f(x1) < f(a), f(b), to dla i-tej iteracji: ( ) ( ) dla f x1(i ) > f x2(i ) a (i +1) = x1(i ) , b (i +1) = b (i ) , (i +1) ⇒ x1 = x2(i ) , (i +1) (i +1) (i +1) (i +1) x = a + b − a ⋅k 2 ( ( ) ( ) (i ) (i ) dla f x1 < f x2 5 −1 2 ) a (i +1) = a (i ) , b (i +1) = x1(i ) , ⇒ x2(i +1) = x1(i ) , (i +1) (i +1) (i +1) (i +1) ⋅k x1 = b − b − a ( k= f(x) a x1 x2 x b ) k – współczynnik złotego podziału. 12 Optymalizacja jednowymiarowa - metoda interpolacji kwadratowej Metoda polega na dopasowaniu paraboli f(x) y=ax2+bx+c do wartości funkcji dla trzech punktów x1,x2,x3 Nowy punkt x4 jest miejscem xmin minimum paraboli: xmin=-b/2a x1 x2 xmin x x3 Wybór kolejnej trójki jest zależny od wartości f(xmin). 13 Optymalizacja wielowymiarowa Funkcja kosztu często jest funkcją n parametrów. Wówczas optymalizacja sprowadza się do poszukiwania minimum funkcji w n wymiarach. Przykład dwuwymiarowy 14 Optymalizacja wielowymiarowa - metody bezgradientowe Metody bezgradientowe nie wykorzystują informacji o pochodnych cząstkowych funkcji (gradiencie). Często nie można wyznaczyć pochodnych, albo jest to kosztowne obliczeniowo. Metoda Simplex - w n-wymiarowej przestrzeni na bazie n+1 punktów (wierzchołków) buduje się figurę nazywaną simplexem. Dla n=2 jest to trójkąt. Optymalizacja polega na budowaniu kolejnych przybliżeń, gdzie punkt o największej wartości jest symetrycznie „odbijany” od naprzeciwległej ściany. Jednocześnie może nastąpić rozszerzenie lub zawężenie simplexu. Warunkiem zakończenia jest jego zmniejszenie poniżej wartości progowej. max 15 Optymalizacja wielowymiarowa - metody gradientowe Metody gradientowe wykorzystują informację o pochodnych cząstkowych funkcji (gradiencie). Metoda największego spadku - polega na tym, że minimum funkcji jest poszukiwane w kierunku przeciwnym do gradientu: d = −∇f (x ) Metoda polega na wykonaniu dwóch kroków w każdej iteracji: -wyznaczenie kierunku największego spadku w punkcie, -poszukiwanie minimum metodami jednowymiarowymi. Inne metody wykorzystujące pierwsze pochodne to tzw. metody gradientów sprzężonych. 16 Nieliniowa najmniejsza suma kwadratów (NLS) Metoda jest wykorzystywana przy dopasowaniu funkcji do danych pomiarowych, np. podczas identyfikacji obiektów dynamicznych. Niech kryterium minimalizacji ma postać: f (x ) = ∑ Fi (x ) = F (x ) F(x ) 2 T i Metoda Gaussa-Newtona: kierunek d wyznacza się z wzoru: J (x ) J (x )d = − J (x ) F(x ) T T Metoda Levenberga-Marquardta: kierunek d wyznacza się z wzoru: [J(x) J(x) + λI]d = −J(x)F(x) T J jest jakobianem wektora F, λ jest współczynnikiem zbieżności. 17 Przykład – identyfikacja parametrów układu dynamicznego Identyfikacja parametrów transmitancji filtru pasmowo-przepustowego przez dopasowanie jego odpowiedzi jednostkowej do ciągu pomierzonych próbek. C R1 R3 1 uI R C2 uO 2 Aśr T (s ) = ωśr s U O (s ) Q = U I (s ) s 2 + ωśr s + ω 2 śr Q W tym przypadku dobre efekty daje zastosowanie metod gradientowych poszukiwania optymalnych parametrów filtru. 18 Przykład – problem komiwojażera Problem polega na znalezieniu najkrótszej trasy podróży przy założeniu jednokrotnego odwiedzenia każdego z miast. ( n − 1)! liczba _ mozliwosci = 2 Brak danej analitycznie, różniczkowalnej funkcji. Nie można zastosować gradientowych metod optymalizacji. 19 Unikanie zatrzymania optymalizacji w minimum lokalnym W przypadku występowania wielu minimów lokalnych istnieje niebezpieczeństwo „utknięcia” algorytmu optymalizacji w jednym z nich. Istnieje szereg metod skutecznie unikających tego problemu przez generowanie dodatkowych punktów startowych, np.: Symulowane wyżarzanie Algorytmy ewolucyjne Algorytmy genetyczne 20