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.