Sprawozdanie z Pracowni Naukowej 1 Optymalizacja wielomianowa



Podobne dokumenty
VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Rozdział 1 PROGRAMOWANIE LINIOWE

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

1 Równania nieliniowe

Zaawansowane metody numeryczne

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

2. DZIAŁANIA NA WIELOMIANACH

Funkcja jednej zmiennej - przykładowe rozwiązania 1. Badając przebieg zmienności funkcji postępujemy według poniższego schematu:

Wymagania edukacyjne z matematyki klasa II technikum

Rozwiązania prac domowych - Kurs Pochodnej. x 2 4. (x 2 4) 2. + kπ, gdzie k Z

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Wykład z równań różnicowych

Programowanie celowe #1

Wielomiany. dr Tadeusz Werbiński. Teoria

Statystyka matematyczna dla leśników

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Metody numeryczne I Równania nieliniowe

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

WIELOMIANY SUPER TRUDNE

Metody numeryczne równań różniczkowych zwyczajnych

Schemat programowania dynamicznego (ang. dynamic programming)

Ekonometria - ćwiczenia 10

Definicja problemu programowania matematycznego

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Stanisław Cichocki Natalia Nehrebecka. Wykład 7

Sponsorem wydruku schematu odpowiedzi jest wydawnictwo

Rozwiązywanie równań nieliniowych

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

WYKŁAD 9 METODY ZMIENNEJ METRYKI

5. Rozwiązywanie układów równań liniowych

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

RÓWNANIA NIELINIOWE Maciej Patan

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne. materiały do wykładu dla studentów

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

Aproksymacja funkcji a regresja symboliczna

Programowanie liniowe

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Optymalizacja ciągła

Funkcje dwóch zmiennych

Optymalizacja ciągła

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Wprowadzenie do badań operacyjnych - wykład 2 i 3

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody systemowe i decyzyjne w informatyce

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

ZADANIA MATURALNE - ANALIZA MATEMATYCZNA - POZIOM ROZSZERZONY Opracowała - mgr Danuta Brzezińska. 2 3x. 2. Sformułuj odpowiedź.

Układy równań liniowych. Krzysztof Patan

Układy równań i nierówności liniowych

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Optymalizacja ciągła

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Algorytm genetyczny (genetic algorithm)-

Matematyka dyskretna dla informatyków

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Estymacja wektora stanu w prostym układzie elektroenergetycznym

Wymagania edukacyjne z matematyki w XVIII Liceum Ogólnokształcącym w Krakowie, zakres podstawowy. Klasa druga.

KURS MATURA ROZSZERZONA część 1

Reakcja Bielousowa-Żabotyńskiego

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

12.Rozwiązywanie równań i nierówności liniowych oraz ich układów.

1 Programowanie całkowitoliczbowe PLC

166 Wstęp do statystyki matematycznej

Rozdział 1 PROGRAMOWANIE LINIOWE

Wykład z Technologii Informacyjnych. Piotr Mika

KADD Minimalizacja funkcji

Wielomiany podstawowe wiadomości

3. Macierze i Układy Równań Liniowych

Algorytm simplex i dualność

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

Metoda eliminacji Gaussa. Autorzy: Michał Góra

MATURA Przygotowanie do matury z matematyki

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Twierdzenia Rolle'a i Lagrange'a

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1

Elementy Modelowania Matematycznego

Algorytm. Krótka historia algorytmów

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

O geometrii semialgebraicznej

Błędy przy testowaniu hipotez statystycznych. Decyzja H 0 jest prawdziwa H 0 jest faszywa

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Liczby zmiennoprzecinkowe i błędy

Transkrypt:

Sprawozdanie z Pracowni Naukowej 1 Optymalizacja wielomianowa Michał Przyłuski 4380/D 28 stycznia 2011 r. Przypuśćmy, że w każdej chwili t, pewna wielkość x przyjmuje wartość x(t) zgodnie z zależnością x(t) = ax E (t) + b, gdzie t = 0, 1,..., przy czym x E (t) jest przewidywaną przez decydenta wartością zmiennej x w chwili t. Liczby a i b są nieznane, ale wiadomo, że a jest ujemne. Wielkość x E (t) może być określona na wiele sposobów. Najprostszy z nich prowadzi do przyjęcia założenia, że x E (t) = x(t 1). Oznacza to, że przewidywana wielkość zmiennej x w chwili t (a więc x E (t)), wyznaczana jest wyłącznie na podstawie informacji o wartości tej zmiennej w chwili poprzedniej. Wówczas x(t) = ax(t 1) + b, dla t = 0, 1,.... Powyższe równanie różnicowe jest asymptotycznie stabilne (por. [4]), wtedy i tylko wtedy, gdy a ( 1, 0). (Rozpatrujemy poniżej wyłącznie przypadek, gdy a jest ujemne.) Można rozważyć sytuację, gdy do określenia przewidywanej wartości zmiennej x w chwili t (czyli x E (t)) wykorzystujemy nie tylko wartości zmiennej x z chwili t 1, ale i z chwil poprzednich. W najprotszej sytuacji oznacza to, że x E (t) wyznaczany będzie na podstawie x(t 1) oraz x(t 2). Zakładając liniowość zależności wiążącej x E (t) z x(t 1) i x(t 2), otrzymujemy równość x E (t) = x(t 1) + ρ(x(t 1) x(t 2)), gdzie parametr ρ jest dowolną liczbą rzeczywistą. Po podstawienu do równania x(t) = ax E (t) + b otrzymamy tzn. x(t) = a[x(t 1) + ρ(x(t 1) x(t 2))] + b, x(t) = a(1 + ρ)x(t 1) aρx(t 2) + b. Powyższe równanie różnicowe jest asymptotycznie stabilne wtedy i tylko wtedy, gdy pierwiastki jego równania charakterystycznego λ 2 a(1 + ρ)λ + aρ = 0 mają wartości bezwzględne mniejsze niż 1. Zależność położenia pierwiastów tego równania kwadratowego od parametru ρ była szczegółowo analizowana w 1947 roku przez R. M. Goodwina (badania te są szczegółowo opisane w monografii [2]). Okazuje się, że dla a należących do przedziału ( 3, 0) można dobrać tak parametr ρ, żeby powyższe równanie różnicowe było asymptotycznie stabilne. Właściwą wartością ρ jest 1 3. Oznacza to, że dla dowolnego a ( 3, 0) równanie różnicowe x(t) = a[x(t 1) 1 3(x(t 1) x(t 2))] + b, jest zawsze asymptotycznie stabilne. Podkreślmy, że dla a 3, powyższe równanie różnicowe nigdy nie jest asymptotycznie stabilne, niezależnie od ρ. Narzuca się więc pytanie, czy wykorzystanie więcej niż dwóch 1

wartości poprzednich zmiennej x do wyznaczenia przewidywanej wartości tej zmiennej (czyli x E (t)) zwiększy zakres wartości współczynnika a, dla których to wartości odpowiednie równanie różnicowe będzie asymptotycznie stabilne. Zbadamy więc przypadek, gdy do określenia przewidywanej wartości zmiennej x w chwili t (czyli x E (t)) wykorzystujemy wartości zmiennej x z chwil t 1, t 2 oraz t 3. Zakładając liniowość związku wiążącego x E (t) z x(t 1), x(t 2) i x(t 3) mamy zależność x E (t) = x(t 1)+ρ(x(t 1) x(t 2))+γ(x(t 2) x(t 3)), gdzie parametry ρ i γ są dowolnymi liczbami rzeczywistymi. Po podstawienu do równania x(t) = ax E (t)+b otrzymamy następujące równanie różnicowe: ( ) x(t) = a[x(t 1) + ρ(x(t 1) x(t 2)) + γ(x(t 2) x(t 3))] + b. Tak więc (dla t = 0, 1,...) x(t) = a(1 + ρ)x(t 1) + a(γ ρ)x(t 2) aγx(t 3) + b. Odpowiednie równanie charakterystyczne jest następujące: λ 3 a(1 + ρ)λ 2 a(γ ρ)λ + aγ. Bezpośrednie badanie zależności pierwiastków tego równania od parametrów ρ i λ jest dość trudne. Możliwe jest jednakże określenie warunków koniecznych i dostatecznych do tego, aby wszystkie pierwiastki tego równania miały wartości bezwzględne mniejsze niż 1. Dla wielomianu trzeciego stopnia P(λ) = a 0 + a 1 λ + a 2 λ 2 + a 3 λ 3 warunki te (por. [1]) mają postać nierówności a 0 + a 1 + a 2 + a 3 > 0, a 0 + a 1 a 2 + a 3 > 0, a 0 < a 3, a 2 0 a 2 3 < a 0 a 2 a 1 a 3. Wykorzystując powyższe zależności, otrzymujemy następujące warunki asymptotycznej stabilności rozpatrywanego równania różnicowego ( ): α > 0, α(2ρ 2γ + 1) < 1, α 2 γ 2 < 1, α 2 γ 2 1 < α 2 γ(1 + ρ) α(γ ρ), gdzie α oznacza a (przypomnijmy, że rozpatrujemy tylko przypadek a < 0). Interesuje nas wyznaczenie największej wartości α, dla której powyższe nierówności są spełnione dla odpowiednio dobranych ρ i λ. Analityczne rozwiązanie tych nierówności 2

wydaje się dość trudne, dlatego podjęto próbę numerycznego wyznaczenia największej wartości α. Poniżej opiszę związane z tym doświadczenia. Analizie poddano poniższy problem optymalizacji: maksymalizuj α p. o. α 0, α(2ρ 2γ + 1) 1, α 2 γ 2 1, α 2 γ 2 1 + α 2 γ(1 + ρ) + α(γ ρ) 0. Zauważmy, że w sformułowaniu występują tylko nierówności słabe, co znaczy, że maksymalne α będzie leżało na granicy obszaru stabilności. Jak wiadomo, dla γ = 0, górne ogranicze na α wynosi 3. Doświadczenia numeryczne miały na celu wskazanie ograniczenia przy dowolnym γ, czyli maksymalizację α. Powyższe zadanie optymalizacji zostało zapisane w pakiecie YALMIP środowiska MATLAB i rozwiązane przy pomocy standardowego algorytmu. Wykorzystano wbudowaną w MATLAB procedurę fmincon, poszukującą ekstremum warunkowego funkcji. Bez dodatkowych opcji procedura ta wykorzystuje algorytm zwany trust-regionreflective i za rozwiązanie optymalne uznaje (α, γ, ρ) = (21.3087, 0.0469, 0.5235). Identyczny wynik można uzyskać przy pomocy algorytmu active-set. Pozostałe dwa algorytmy wspierane przez fmincon dają gorsze rezultaty. Technika sqp znajduje punkt (α, γ, ρ) = (7.3302, 0.1364, 0.5682), a interior-point nie znajduje żadnego rozwiązania, przekraczając maksymalną liczbę 3000 obliczeń wartości funkcji. Po zwiększeniu tego limitu, fmincon zostaje zatrzymany przez limit 1000 iteracji. Niestety, zwiększanie tych ograniczeń nie pozwala nadal uzyskać żadnego wyniku. Odmienna sytuacja ma miejsce po dodaniu dodatkowego ograniczenia γ = 0 lub γ = 0.0469. W przypadku γ = 0 fmincon, zgodnie z wynikami analitycznymi, wyznacza maksimum funkcji celu dla (α, γ, ρ) = (3, 0, 0.3333). Zaskakujący jest wynik dla γ = 0.0469. Wydawać by się mogło, że procedury numeryczne powinny znaleźć rozwiązanie α = 21.3087, lub chociaż bardzo jemu bliskie. Niestety, przy tak ustalonej wartości parametru γ jedyne co fmincon odnajduje to (α, γ, ρ) = (3.6928, 0.0469, 0.4115). Warto podkreślić, że (przy wykorzystaniu standardowego algorytmu trust-regionreflective) fmincon nie stwierdza żadnych problemów numerycznych w trakcie obliczeń i przedstawia znalezione wyniki jako rozwiązania optymalne poszczególnych zagadnień. Kolejnym krokiem było wykorzystanie wyspecjalizowanej biblioteki GloptiPoly3 służącej do rozwiązywania problemów optymalizacji o wielomianowej funkcji celu i ograniczeniach. GloptiPoly3 został szczegółowo opisany w [3]. W celu rozwiązania zadania GloptiPoly3 przekształca je do zrelaksowanej postaci, którą można zapisać jako problem 3

SDP (por. [5]). Po sformułowaniu problemu jako SDP, GloptiPoly3 wykorzystuje dowolny solwer półokreślony do jego rozwiązania. W praktyce często jest to SeDuMi lub SDPT3. W przypadku rozważania problemu bez dodatkowych założeń na γ, GloptiPoly3 wykorzystując zarówno SeDuMi jak i SDPT3 nie dochodzi do żadnego wyniku. Obydwa solwery po wielu iteracjach kończą swoje działanie z błędem run into numerical problems (SeDuMi) lub stop: lack of progress in dual infeas, homrp=inf (SDPT3). Próby rozwiązania tego zadania przy γ = 0 zakończyły się sukcesem, niezależnie od wykorzystanego solwera półokreślonego, znalezione zostało optymalne rozwiązanie. W przypadku γ = 0.0469 GloptiPoly3 również znajduje akceptowalne rozwiązanie (α, γ, ρ) = (21.3220, 0.0469, 0.5274). Ostatecznie, rozważany problem optymalizacji, zaimplementowano w języku C przy pomocy biblioteki Ipopt (opisanej w [6]). Natrafiono na znaczne trudności numeryczne. Pewnym zaskoczeniem jest fakt, że wpływ na jakość znalezionego rozwiązania ma kolejność wykonywania operacji na składnikach sumy w drugim ograniczeniu. Po nałożeniu sztucznego ograniczenia α 4 10 6, Ipopt znalazł (α, γ, ρ) = (4 10 6, 2.5 10 7, 0.5), jednakże w tym przypadku sprawdzenie bezpośrednie ujawnia niespełnienie drugiego ograniczenia. Niestety, Ipopt w trakcie rozwiązywania tego problemu nie zgłasza żadnych błędów, więc można ulec złudzeniu, że jest to prawidłowe rozwiązanie. Wnikliwa analiza pozwoliła stwierdzić, że błąd Ipopta wynika z problemów numerycznych w czasie wykonywania obliczenia drugiego ograniczenia ( 1 + mała_liczba + 1). Można tę trudność ominąć zmieniając kolejność wykonywanych operacji. Po dokonaniu takiej korekty, przy ograniczeniu γ 4 10 6, Ipopt nie zbiega do żadnego rozwiązania. Rozwiązywanie problemu bez dodatkowych ograniczeń nie przyniosło zadowalających efektów. Podjęto próbę zarówno standardowym algorytmem wykorzystywanym przez Ipopta, jak i alternatywnym Mehrotra predictor-corrector. Zmieniano także strategię doboru parametru barier (mu_strategy). Co więcej, problem sformułowano zarówno jako min α, jak i max α. We wszystkich tych przypadkach wyniki były znacząco różne. Świadczyć to może o wyjątkowo niekorzystnej numerycznie postaci problemu. W zależności od użytego algorytmu, i górnego ograniczenia na γ, Ipopt znajdował rozwiązania dopuszczalne oraz niedopuszczalne. Każde z nich wymagało,,ręcznej weryfikacji. Ostatecznie, po dodaniu sztucznego górnego ograniczenia γ 10000 bibliotece Ipopt udało się znaleźć dopuszczalne rozwiązanie (α, γ, ρ) = (10000, 0.0001, 0.50005). Warto podkreślić, że ze względu na problemy numeryczne ujawnione w trakcie poprzednich doświadczeń z tym zadaniem, rozwiązanie to poddano dodatkowemu sprawdzeniu. Okazuje się, że spełnia ono wszystkie ograniczenia. Podsumowując, wrażliwość tego zadania na błędy numeryczne jest ogromna i prawdziwą sztuką byłoby takie zapisanie w języku C całego problemu, aby uniknąć tego i in- 4

nych trudnych do przewidzenia błędów. Na podstawie wszystkich doświadczeń numerycznych wydaje się zasadnym wysnucie hipotezy, że problem ten nie jest ograniczony. Nie zmienia to faktu, że przetestowane solwery bardzo źle radziły sobie z nim; największym zaskoczeniem jest prawie całkowita bezradność wydawałoby się specjalizowanego solwera GloptiPoly3. Literatura [1] J. Ackermann: Regulacja impulsowa, WNT, Warszawa 1976 [2] G. Gandolfo: Mathematical Methods and Models in Economic Dynamics, North- Holland, Amsterdam 1971 [3] D. Henrion, J. B. Lasserre, J. Loefberg: GloptiPoly 3: moments, optimization and semidefinite programming, Optimization Methods and Software, Vol. 24, Nos. 4 5, pp. 761 779, 2009 [4] J. P. LaSalle: The Stability and Control of Discrete Processes, Springer, New York 1986 [5] J. B. Lasserre: A Semidefinite programming approach to the generalized problem of moments, Mathematical Programming, Vol. 112, pp. 65 92, 2008 [6] A. Wächter, L. T. Biegler: On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming, Vol. 106(1), pp. 25 57, 2006 5