Zadania laboratoryjne T4 - Wydział Elektrotechniki i Automatyki
Transkrypt
Zadania laboratoryjne T4 - Wydział Elektrotechniki i Automatyki
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Zadania laboratoryjne T4 Opracowanie: Piotr Hirsch, mgr inż. Kazimierz Duzinkiewicz, dr hab. inż. Gdańsk, 05.2016 Zadanie 1 Utwórz pliki funkcyjne realizujące algorytmy Gaussa-Seidla i Powella. Obie funkcje powinny zwracać wektor wyników pośrednich, umożliwiających wykreślenie przebiegu optymalizacji. Sprawdź poprawność algorytmów znajdując minimum funkcji: 𝑓(𝑥) = 2𝑥12 + 𝑥22 − 2𝑥1 𝑥2 Startując w punkcie 𝑥 0 = [2; 3]. Przyjmij dokładność równą 𝜀 = 10−4. Znajdź minimum także z wykorzystaniem metody Neldera-Meada (funkcja fminsearch, z opcją wyświetlania szczegółów iteracji) Porównaj liczbę iteracji i czas minimalizacji dla wszystkich przypadków. Zadanie 2 Zmodyfikuj funkcję wykreślającą wykres konturowy 3D, tak, by wykreślała wykres konturowy 2D zadanej funkcji. Korzystając z przygotowanej funkcji wykreśl wykres konturowy funkcji celu z zadania 1, a następnie nałóż na niego wykres przebiegu poszukiwań dla metody Gaussa-Seidla i Powella. Uwaga Do wykreślania wykorzystaj funkcję contour i plot. Zadanie 3 Korzystając z metod: Gaussa-Seidla, Powella i Neldera-Meada, znajdź minimum funkcji Rosenbrocka: 𝑓(𝑥)=𝑎(𝑥2−𝑥12)2+(1−𝑥1)2 Przyjmując parametr 𝑎 = 1. W przypadku metod Gaussa-Seidla i Powella wykreśl przebieg poszukiwań na tle konturu funkcji. Optymalizację metodą Neldera-Meada przeprowadź w oparciu o plik nelder.m. 2 3 Wywołaj funkcję dla początkowego simpleksu: 𝑉 = [2.5 3.1], minimalnej liczby iteracji równej 1, 1.8 2.7 maksymalnej równej 100 i dla dokładności 𝜀 = 10−4. Wykreśl przebieg optymalizacji na tle wykresu konturowego funkcji celu.