Metody optymalizacji - teoria i wybrane algorytmy

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metody optymalizacji - teoria i wybrane algorytmy"

Transkrypt

1 Metody optymalizacji - teoria i wybrane algorytmy 15 stycznia 2012 Spis treści I Algorytmy optymalizacji funkcji jednej zmiennej 2 1 Metody ustalania przedziału, w którym znajduje się minimum Metoda wyczerpującego poszukiwania (ang. exhaustive search method) Metoda przyspieszonego poszukiwania (ang. bounding phase method) Metody znajdowania minimum z zadaną dokładnością: Metody eliminowania obszarów Metoda dzielenia przedziału na połowę Metoda złotego podziału Metoda liczb Fibonacciego Metody estymacji punktowej Metoda interpolacji kwadratowej Powella Metody oparte na gradientach Metoda Newtona-Raphsona Metoda siecznych (ang. secant method) Porównanie metod znajdowania minimum z zadaną dokładnością II Algorytmy optymalizacji funkcji wielu zmiennych 10

2 3 Metody bezpośrednich poszukiwań Metoda hipersześcienna Metoda sympleksu Neldera-Meada Metoda kierunków sprzężonych Powella Metody gradientowe Metoda Cauchy ego najszybszego spadku Metoda Newtona Metoda Marquardta III Optymalizacja z ograniczeniami Teoria 18 6 Algorytmy Metoda funkcji kar i barier Metoda Rosena rzutowanego gradientu IV Tutorial z OCTAVE/MATLAB 29 7 Wprowadzenie 29 2

3 Moja strona internetowa: Mój adres Część I Algorytmy optymalizacji funkcji jednej zmiennej Algorytmy w tym rozdziale mogą być stosowane do rozwiązywania problemów minimalizacji następującego typu: min f(x) gdzie f(x) jest funkcją celu a x jest zmienną rzeczywistą. Wyróżnia się dwa podstawowe typy algorytmów: Metody bezpośrednich poszukiwań (ang. direct search methods) oraz Metody oparte na gradientach (ang. gradient-based methods) Metody bezpośrednich poszukiwań wykorzystują wyłącznie wartości funckji celu, natomiast metody oparte na gradientach wykorzystują rownież pochodne pierwszego i/lub drugiego rzędu funkcji celu. Ponieważ gradienty liczymy numerycznie, funkcja celu nie musi by c rożniczkowalna ani nawet ciągła, aby wykorzystywać metody gradientowe. Metody opisane tutaj mogą być stosowane również do maksymalizacji. Wystarczy po prostu sformułować i rozwiązać równoważny problem dualny min( f(x)). Poniższe metody zakładają, że funkcja celu jest unimodalna (ang. unimodal function), czyli taka, że ma tylko jedno minimum lokalne. W praktyce, dzieli się funkcję na przedziały, w których jest ona unimodalna i dla każdego takiego przedziału z osobna, znajduje się minimum. My będziemy zakładać, że szukamy minimum funkcji f na przedziale [a, b]. Minimum funkcji znajduje się w dwóch fazach: Metody ustalania przedziału, w którym znajduje się minimum (ang. bracketing methods) Metody znajdowania minimum z zadaną dokładnością: Metody eliminowania obszarów (ang. region elimination methods) 3

4 Metoda estymacji punktowej (ang. point estimation method) Metody oparte na gradientach (ang. gradient based methods) 1 Metody ustalania przedziału, w którym znajduje się minimum W tym podrozdziale przedstawione są dwie metody: 1.1 Metoda wyczerpującego poszukiwania (ang. exhaustive search method) Metoda ta polega na porównywaniu wartości funkcji celu dla punktów jednakowo od siebie odległych. Zazwyczaj poszukiwania zaczyna się od dolnego ograniczenia zmiennej i w pojednynczej iteracji porównuje się wartości trzech kolejnych punktów wykorzystując założenie unimodalności. Algorytm 1) Ustal x 1 = a, x = (b a)/n (n jest liczbą punktów pośrednich), x 2 = x 1 + x, i x 3 = x 2 + x. 2) Jeśli f(x 1 ) f(x 2 ) f(x 3 ), minimum znajduje się w (x 1, x 3 ), Zakończ; W przeciwnym przypadku x 1 = x 2, x 2 = x 3, x 3 = x 2 + x i przejdź do kroku 3). 3) Czy x 3 b? Jeśli tak, to idź do kroku 2); Jeśli nie, to nie istnieje minimum w przedziale (a, b) lub punkt brzegowy (a lub b) jest puntem minimalnym. Ostateczny przedziałuzyskany przy użyciu tego algorytmu to 2(b a)/n. Średnio potrzeba obliczyć (n/2 + 2) wartości funkcji, aby uzyskać żądaną dokładność. 1.2 Metoda przyspieszonego poszukiwania (ang. bounding phase method) Metoda ta polega na obraniu punktu początkowego i wybraniu kierunku poszukiwań na podstawie porównania wartości funkcji w punkcie początkowym oraz dwóch wartości funkcji w punktach będących w bezpośrednim sąsiedztwie punktu początkowego. Później znajduje się drugi kraniec 4

5 przedziału stosując wykładniczą strategię poszukiwań. Poniżej użyty jest wykładnik równy 2, ale można używaċ jakąkolwiek inną liczbę dodatnią. Wykładnik wyższy niż 1, powoduje przyspieszanie wykładnicze poszukiwań, co zmniejsza liczbę iteracji, ale dzieje się to kosztem uzyskanej dokładności. Dla porównania w metodzie ustalania przedziału uzyskana dokładność jest lepsza, ale ilość potrzebnych iteracji jest większa. Algorytm 1) Wybierz punkt początkowy x (0) oraz wartość. Ustal k = 0. 2) Jeśli f(x (0) ) f(x (0) ) f(x (0) + ), wtedy > 0; Jeśli f(x (0) ) f(x (0) ) f(x (0) + ), wtedy < 0; W pozostałych przypadkach wróć do kroku 1). 3) Ustal x (k+1) = x (k) + 2 k. 4) Jeśli f(x (k+1) ) < f(x (k) ), ustal k = k + 1 i idź do kroku 3); W przeciwnym razie minimum znajduje się w przedziale (x (k 1), x (k+1) ), Zakończ. 2 Metody znajdowania minimum z zadaną dokładnością: 2.1 Metody eliminowania obszarów Ogólna zasada metod eliminowania obszarów jest następująca: Rozważmy dwa punkty x 1 i x 2, które leżą w przedziale (a, b) oraz x 1 < x 2. Dla problemu minimalizacji funkcji unimodalnej, można wyciągnąć następujące wnioski: Jeśli f(x 1 ) > f(x 2 ), to minimum nie leży w (a, x 1 ) Jeśli f(x 1 ) < f(x 2 ), to minimum nie leży w (x 2, b) Jeśli f(x 1 ) = f(x 2 ), to minimum nie leży ani w (a, x 1 ) ani w (x 2, b) Poniżej przedstawione zostaną trzy metody: Metoda dzielenia przedziału na połowę (ang. interval halving method) Metoda złotego podziału (ang. golden section search) Metoda liczb Fibonacciego (ang. Fibonacci search) 5

6 Metoda dzielenia przedziału na połowę Metoda ta polega na wybraniu trzech punktów jednakowo odległych od siebie oraz od krańców przedziału oraz wyliczeniu wartości funkcji w tych punktach, w wyniku czego można wyeliminować połowę przedziału. Algorytm 1) Wybierz dolne i górne ograniczenie przedziału a i b oraz małą liczbę ε. Niech x m = (a + b)/2, L 0 = L = b a. Wylicz f(x m ). 2) Ustal x 1 = a + L/4, x 2 = b L/4. Wylicz f(x 1 ) oraz f(x 2 ). 3) Jeśli f(x 1 ) < f(x m ), ustal b = x m ; x m = x 1 ; Przejdź do kroku 5); W przeciwnym wypadku przejdź do kroku 4). 4) Jeśli f(x 2 ) < f(x m ), ustal a = x m ; x m = x 2 ; Przejdź do kroku 5); W przeciwnym przypadku ustal a = x 1, b = x 2 ; przejdź do kroku 5). 5) Wylicz L = b a. Jeśli L < ε, Zakończ; W przeciwnym przypadku przejdź do kroku 2). W każdej nowej iteracji algorytmu, potrzebne jest wyliczenie dwóch wartości funkcji, a przedział zmniejsza się o połowę. Po n-krotnym wyliczeniu wartości funkcji, przedział zmniejsza się do około 0.5 n/2 L 0. Czyli ilość razy n, ile trzeba policzyć wartości funkcji, aby osiągnąć daną dokładność ε można policzyć z następującego wzoru: (0.5) n/2 (b a) = ε. Metoda złotego podziału W metodzie tej w każdej nowej iteracji potrzeba wyliczyć tylko jedną nową wartość funkcji. Idea polega na tym, że spośród dwóch punktów, które potrzebne są, aby stosować regułę eliminowania obszarów, jeden punkt jest zawsze poprzednim a tylko drugi punkt jest nowy. Ponadto przedział zawęża się za każdą iteracją proporcjonalnie o tyle samo, czyli o wartość ρ, która spełnia następującą zależność: 1 ρ 1 = ρ 1 ρ ρ = Algorytm 6

7 1) Wybierz dolne i górne ograniczenie przedziału a i b oraz małą liczbę ε. Ustal k = 1. 2) Ustal w 1 = a + (1 ρ)(b a) oraz w 2 = a + ρ(b a). Wylicz f(w 1 ) oraz f(w 2 ), w zależności od tego, które z nich nie było wyliczone wcześniej. Wyeliminuj odpowiedni region zgodnie z regułą eliminowania obszarów. Ustal nowe a i b. 3) Czy a b < ε? Jeśli nie, ustal k = k + 1 i przejdź do kroku 2); Jeśli tak, Zakończ. W tym algorytmie, po n-krotnym wyliczeniu wartości funkcji przedział zmiejsza sie do (0.618) n 1 (a b), zatem ilość potrzebnych wyliczeń wartości funkcji przy danej dokładności ε można wyliczyć z następującego wzoru: (0.618) n 1 (a b) = ε Metoda liczb Fibonacciego W metodzie złotego podziału proporcja zmniejszania się przedziału z iteracji na iterację pozostaje niezmienna i wynosi W metodzie liczb Fibonacciego, idea jest taka sama jak w metodzie złotego podziału, z wyjątkiem faktu, że w metodzie liczb Fibonacciego proporcja zmniejszania się przedziału z iteracji na iterację zmienia się tak, aby przedział zmniejszał się w sposób optymalny (tzn. jak najbardziej). Jeśli ρ k oznacza proporcje, o jaką zmniejsza się przedział w k-tej iteracji, to w metodzie Fibonacciego zachodzi następujący związek: 1 ρ k+1 1 = ρ k 1 ρ k (1) Okazuje się, że wartościami ρ k (0, 1/2], gdzie k = 1,..., N, które minimalizują wyrażenie (1 ρ 1 )(1 ρ 2 ) (1 ρ N ) i które spełniają powyższy związek (1), są następujące liczby: ρ 1 = 1 F N F N+1 ρ 2 = 1 F N 1 F N... ρ k = 1 F N k+1 F N k+2... ρ N = 1 F 1 F 2 7

8 gdzie F k oznaczają liczby Fibonacciego. Liczby Fibonacciego mają następującą charakterystykę: F 1 = 1, F 2 = 1 i gdzie k = 3, 4,... Algorytm F k = F k 1 + F k 2 1) Wybierz dolne i górne ograniczenie przedziału a i b i ustal L = b a. Ustal liczbę wyliczeń wartości funkcji n. Ustal k = 1. 2) Wylicz Lk = (1 ρ N k+1) (1 ρ 1 )L = F N k+1 F N+1. Ustal x 1 = a + Lk oraz x 2 = b Lk. 3) Spośród f(x 1 ) i f(x 2 ) wylicz tą wartość, która nie była wcześniej policzona. Wyeliminuj region według ogólnej metody eliminowania obszarów. Ustal nowe a i b. 4) Czy k = n? Jeśli nie, ustal k = k + 1 i idź do kroku 2); W przeciwnym przypadku, Zakończ. W tym algorytmie przedział redukuje się do 2 F N+1 L do czego potrzebnych jest n wyliczeń wartości funkcji. Zatem ilość potrzebnych wyliczeń wartości funkcji przy danej dokładności ε można wyliczyć z następującego wzoru: 2 F N+1 (b a) = ε Jednym z minusów metody liczb Fibonacciego jest fakt, iż trzeba wyliczaċ kolejne liczby Fibonacciego w każdej iteracji. 2.2 Metody estymacji punktowej W poprzednim podrozdziale omawiane były metody, które porównują wartości funkcji. W metodach estymacji punktowej wykorzystuje się również wielkość różnicy wartości funkcji. Poniżej omówimy tylko metodę interpolacji kwadratowej Powella. Metoda interpolacji kwadratowej Powella Szukamy trzy punkty x 1 < x 2 < x 3 takie, że wartości funkcji w tych punktach spełniają f(x 1 ) > f(x 2 ) < f(x 3 ). Szukamy równania wielomianu kwadratowego przechodzącego przez punkty (x 1, f(x 1 )), (x 2, f(x 2 )) i (x 3, f(x 3 )). 8

9 W tym celu zapisujemy ogólne równanie wielomianu kwadratowego przechodzącego przez punkty x 1 i x 2 : q(x) = a 0 + a 1 (x x 1 ) + a 2 (x x 1 )(x x 2 ) Następnie szukamy współczynników tego wielomianu: q(x 1 ) = f(x 1 ) = a 0 q(x 2 ) = f(x 2 ) = a 0 + a 1 (x 2 x 1 ) q(x 3 ) = f(x 3 ) = a 0 + a 1 (x 3 x 1 ) + a 2 (x 3 x 1 )(x 3 x 2 ) Otrzymujemy układ trzech równań, który rozwiązujemy, aby znaleźć współczynniki szukanego wielomianu: a 0 = f(x 1 ) a 1 = f(x 2) f(x 1 ) x 2 x ( 1 1 f(x3 ) f(x 1 ) a 2 = f(x ) 2) f(x 1 ) x 3 x 2 x 3 x 1 x 2 x 1 Teraz szukamy argumentu, dla którego ten wielomian kwadratowy osiąga minimum. Ponieważ zgodnie z naszymi założeniami a 2 > 0, minimum znajduje się tam, gdzie pochodna równa jest zero. q (x) = 0 a 1 + a 2 (x x 2 + x x 1 ) = 0 x = x 1 + x 2 2 a 1 2a 2 W punkcie x wielomian kwadratowy q(x) osiąga minimum. Ponieważ q(x) jest przybliżeniem funkcji f(x), której minimum szukamy, x jest przybliżeniem wartości, w której funkcja f(x) osiąga minimum. Spośród punktów (x 1, x 2, x 3, x ), zatrzymujemy trzy najlepsze (innymi słowy wyrzucamy punkt, w którym wartość funkcji f(x) jest największa) i ponownie dokonujemy interpolacji kwadratowej dla tych trzech punktów i szukamy minimum otrzymanego wielomianu. Procedura ta powtarzana jest do momentu, kiedy osiągnięta zostanie żądana dokładność. Alogorytm Powella, który został zarysowany powyżej znajduje minimum szybciej niż metoda złotego podziału, jeśli funkcja f(x) nie jest skrzywiona. Dla mocno niesymetrycznych funkcji, metoda złotego podziału pozostaje jednak lepsza. 2.3 Metody oparte na gradientach Metody opisane dotychczas wykorzystywały tylko wartości funkcji. Metody oparte na gradientach wykorzystujá natomiast dodatkowo informację o 9

10 pochodnych funkcji. Gradienty zazwyczaj oblicza się numerycznie. Używając metody różnic centralnych (ang. central difference method), liczymy pierwszą i drugą pochodną w punkcie x k następująco: f (x (k) ) = f(x(k) + x (k) ) f(x (k) x (k) ) 2 x (k) (2) f (x (k) ) = f(x(k) + x (k) ) 2f(x (k) ) + f(x (k) x (k) ) ( x (k) ) 2 (3) Parametr x (k) powinien być mały, na przykład może stanowić 1% wartości x (k). Metoda Newtona-Raphsona Załóżmy, że możemy policzyć f(x (k) ), f (x (k) ) i f (x (k) ) w każdym punkcie pomiaru funkcji x ( k). Możemy zdefiniować wielomian kwadratowy, którego pierwsza i druga pochodna oraz wartść w punkcie x (k) są identyczne z tymi dla funkcji f(x). Ten wielomian ma następującą postać: q(x) = f(x (k) ) + f (x (k) )(x x (k) ) f (x (k) )(x x (k) ) 2 Zamiast minimalizować funkcję f(x) minimalizujemy jej przybliżenie q(x). Warunek pierwszego rzędu na istnienie minimum jest następujący: 0 = q (x) = f (x (k) ) + f (x (k) )(x x (k) ) Nowy punkt x = x (k+1) spełnia zatem: x (k+1) = x (k) f (x (k) ) f (x (k) ) Metoda Newtona-Raphsona polega na kontynuowaniu powyższej procedury do momentu, w którym pochodna f (x (k+1) ) będzie wystarczająco blisko zera. Jeśli podstawimy g(x) = f (x), wtedy otrzymujemy formułę do iteracyjnego poszukiwania rozwiązania równania g(x) = 0: x (k+1) = x (k) g(x(k) ) g (x (k) ) Metoda Newtona-Raphsona działa dobrze jeśli f (x) > 0 wszędzie. Jeśli natomiast f (x) < 0 dla pewnego x, algorytm może nie zbiegać do minimum. Jeśli zamiast analitycznych pochodnych funkcji wykorzystujemy przybliżone pochodne (por. (2) oraz (3)), wówczas algorytm powyższy nazywamy quasinewtonowskim. 10

11 Metoda siecznych (ang. secant method) Jest to metoda podobna do Newtona-Raphsona. Zamiast f (x (k) ), używa się następującego przybliżenia: f (x (k) ) f (x (k 1) ) x (k) x (k 1) Otrzymuje się wtedy przedstawiony poniżej algorytm, który nazywa się metodą siecznych: x (k+1) = x (k) x (k) x (k 1) f (x (k) ) f (x (k 1) ) f (x (k) ) Metoda siecznych wymaga dwóch punktów startowych x ( 1) i x (0). Tak samo, jak w przypadku metody Newtona Raphsona, metodę siecznych można wykorzystać do znajdowania pierwiastków równania g(x) = 0. Otrzymujemy wtedy algorytm: x (k+1) = x (k) x (k) x (k 1) g(x (k) ) g(x (k 1) ) g(x(k) ) 2.4 Porównanie metod znajdowania minimum z zadaną dokładnością Metoda liczb Fibonacciego jest najbardziej efektywną metodą eliminacji obszarów jeśli początkowy przedział, w którym leży minimum jest znany. Jeśli nie znamy początkowego przedziału oraz pochodnych funkcji, wówczas najlepsza powinna być metoda iterpolacji kwadratowej Powella lub metoda quasi-newtonowska. Gdy pierwsze pochodne są dostępne, metoda siecznych lub metoda interpolacji sześciennej 1 powinna być najbardziej efektywna. W końcu metoda Newtona-Raphsona jest najbardziej efektywna, gdy dostępne są informacje i pierwszych i drugich pochodnych funkcji. 1 Ta metoda nie została omówiona w rozdziale. Jest to metoda podobna do interpolacji kwadratowej, używa jednak pierwszych pochodnych funkcji w celu zmniejszenia ilości potrzebnych wartości funkcji w pojedynczej iteracji. 11

12 Część II Algorytmy optymalizacji funkcji wielu zmiennych Dana jest funkcja wielu zmiennych: f : R N R. Mówimy, że punkt x jest punktem stacjonarnym, jeśli gradient w tym punkcie jest zerowym wektorem: f( x) = 0. Punkt ten jest lokalnym minimum, jeśli Hesjan w tym punkcie 2 f( x) jest dodatnio określony. Macierz jest dodatnio określona jeśli wszystkie jej wartości własne są dodatnie: λ i > 0, i = 1, 2,..., N 2. W niniejszej części skryptu omówione będą następujące algorytmy minimalizacji funkcji wielu zmiennych: Metody bezpośrednich poszukiwań: Metoda hipersześcienna (ang. evolutionary optimization) Metoda sympleksowa Neldera-Meada Metoda kierunków sprzężonych (ang. conjugate direction) Powella Metody gradientowe (ang. descent methods) Metoda najszybszego spadku (ang. steepest descent method) Metoda Newtona Metoda Marquardta Metoda sprzężonego gradientu Fletcher-Reevesa Metody quasinewtonowskie: Metoda Davidon-Fletcher-Powella (DFP) Metoda Broyden-Fletcher-Goldfarb-Shannona (BFGS) 3 Metody bezpośrednich poszukiwań Tak jak w przypadku optymalizacji funkcji jednej zmiennej metody bezpośrednich poszukiwań korzystają wyłącznie z wartości funkcji w punktach, w przeciwieństwie do metod gradientowych, które dodatkowo wykorzystują pochodne funkcji. 2 Macierz symetryczna, a taką jest Hesjan ma wszystkie wartości własne rzeczywiste, nie trzeba się więc martwić o zespolone wartości własne. 12

13 3.1 Metoda hipersześcienna Algorytm potrzebuje w pojedynczej iteracji 2 N +1 punktów, z czego 2 N punktów to są wierzchołki hipersześcianu scentrowanego na pozostałym punkcie. Porównuje się wartości funkcji we wszystkich tych punktach i wskazuje się najlepszy (z najmniejszą wartością). W następnej iteracji tworzy się sześcian wokół tego najlepszego punktu. Jeśli najlepszym punktem okaże się punkt, który był środkiem danego hipersześcianu, wówczas zmniejsza się rozmiar sześcianu. Proces ten kontynuuje się aż hipersześcian stanie się dostatecznie mały. Algorytm 1) Wybierz punkt początkowy x (0) oraz parametry redukcji i dla każdej ze zmiennych, i = 1, 2,..., N. Wybierz parametr zakończenia ε. Ustal x = x (0) 2) Jeśli < ε, Zakończ; W przeciwnym przypadku stwórz 2 N punktów poprzez dodanie i odjęcie i /2 do/od każdej zmiennej w punkcie x. 3) Oblicz wartość funkcji dla wszystkich (2 N + 1) punktów. Znajdź punkt z najmniejszą wartością. Ustal ten punkt jako x. 4) Jeśli x = x (0), zredukuj parametry redukcji i = i /2 i przejdź do kroku 2); W przeciwnym przypadku ustal x ( 0) = x i przejdź do kroku 2) W powyższym algorytmie w każdej iteracji trzeba policzyć maksymalnie 2 N wartości fukcji. Czyli ilość potrzebnych ewaluacji funkcji wzrasta wykładniczo wraz z N. Jeśli algorytm znajdzie dokładne minimum funkcji w którejś iteracji, nie zatrzymuje się automatycznie. Wartość musi spaść poniżej ε, aby algorytm zakończył działanie. Ustalenie dużego parametru redukcji i jest dobre, ale wtedy algorytm może potrzebować wielu iteracji a zatem i wielu ewaluacji funkcji. Z drugiej strony ustalenie małego parametru redukcji może prowadzić do zbyt wczesnej zbieżności algorytmu do suboptymalnego punktu, szczególnie w przypadku funkcji bardzo nieliniowych. Redukcja parametru redukcji nie musi być dwukrotna tak jak w algorytmie podanym powyżej (patrz krok 4)). Dla 13

14 lepszej zbieżności algorytmu rekomenduje się redukcję mniejszą niż dwukrotną Metoda sympleksu Neldera-Meada Sympleks wymaga dużo mniejszej ilości punktów niż hypersześcian, co staje się szcególnie widoczne dla wielu wymiarów. Sympleks w N-wymiarowej przestrzeni ma N + 1 wierzchołków. Jest to minimalna ilość wierzchołków umożliwiająca poszukiwanie we wszystkich możliwych kierunkach N- wymiarowej przestrzeni. Ważne jest jednak, aby sympleks 4 nie rozpinał figury o zerowej objętości w N-wymiarowej przestrzeni - czyli na przykład dla funkcji dwuwymiarowej trzy punkty sympleksu nie mogą leżeć na jednej linii, a w przypadku funkcji trójwymiarowej cztery punkty sympleksu nie mogą leżeć na jednej płaszczyźnie. Działanie metody najlepiej widać w pseudokodzie algorytmu: Algorytm 1) Wybierz γ > 1, β (0, 1) oraz parametr zakończenia ε. Stwórz sympleks początkowy. 2) Znajdź najgorszy punkt x w, najlepszy punkt x b oraz drugi w kolejności najgorszych x m. Oblicz punkt, wzgędem którego będziemy odbijać x w : x c = 1 N N+1 i=1,i h 3) Oblicz punkt odbicia x r = 2x c x w. Ustal x new = x r. Jeśli f(x r ) < f(x b ), ustal x new = (1 + γ)x c γx w (ekspansja); Jeśli f(x r ) f(x w ), ustal x new = (1 β)x c + βx w (kontrakcja); Jeśli f(x m ) < f(x r ) < f(x w ), ustal x new = (1 + β)x c βx w (kontrakcja). Policz f(x new ) i wymień x w na x new. x i. { N+1 } (f(x 4) Jeśli i ) f(x c )) 2 1/2 i=1 N+1 ε, Zakończ; W przeciwnym przypadku idź do kroku 2). Jednym ze sposobów stworzenia sympleksu początkowego do pierwszego kroku algorytmu jest wybranie punktu bazowego x (0) oraz liczby C. Wów- 3 W kroku 4): i = i /p, gdzie p (1, 2). 4 Chodzi tutaj o sympleks początkowy. O następne nie trzeba się martwić, co będzie widoczne w algorytmie. 14

15 czas N + 1 punktów sympleksu to x (0) oraz dla i, j = 1, 2,..., N: x (i) j = { (0) x j + C if j = i x (0) j + C otherwise, where = { 0.25 if N = 3 N+1 2 N 3 otherwise. Dla zapewnienia dobrej zbieżności algorytmu, sugeruje się ustalenie γ 2 i β Metoda kierunków sprzężonych Powella. Metoda kierunków sprzężonych Powella jest chyba najbardziej popularną metodą bezpośrednich poszukiwań. Wykorzystuje ona historię poprzednich rozwiązań, aby swtorzyć nowe kierunki poszukiwań. Idea jest prosta: trzeba utworzyć N liniowo niezależnych kierunków poszukiwań i dokonać sekwencyjnie serię poszukiwań wzdłuż tych kierunków, startując za każdym razem z poprzednio znalezionego punktu. Algorytm 1) Wybierz punkt początkowy x (0) oraz zbiór N liniowo niezależnych kierunków; najlepiej s (i) = e (i), dla i = 1, 2,..., N, gdzie e (i) oznacza i-ty wektor bazowy bazy kanonicznej. 2) Szukaj minimum startując z punktu początkowego wzdłuż kierunku s (1). Startując z nowo znalezionego punktu (oznacz go jako y (1) ), szukaj minimum wzdłuż kierunku s (2). Kontynuuj szukanie wzdłuż kolejnych kierunków aż do kierunku s (N). Następnie ponownie szukaj minimum wdłuż kierunku s (1). Punkt, który został ostatecznie znaleziony oznacz jako y (2). 3) Oblicz d = y (2) y (1). Jest to kierunek sprzężony do s (1). 4) Jeśli d jest małe lub kierunki s (1), s (2),..., s (N 1), d są liniowo zależne, Zakończ; W przeciwnym przypadku ustal s (j) = s (j 1) dla wszystkich j = N, N 1,..., 2. Ustal s (1) = d/ d i idź do kroku 2). 15

16 4 Metody gradientowe Gradient w punkcie x (t) możemy przybliżyć numerycznie za pomocą następującej formuły: f(x (t) ) x 1 f(x (t) f(x (t) ) ) = x 2..., gdzie f(x(t) ) x i f(x (t) ) x N = f(x(t) i + x (t) i ) f(x (t) i x (t) i ) 2 x (t) i Hesjan w punkcie x (t) natomiast liczymy następująco: 2 f(x (t) ) x 1 x f(x (t) = 2 f(x (t) ) x1 2 2 f(x (t) ) 2 f(x (t) ) x 2 x 1 x f(x (t) ) x 1 x N 2 f(x (t) ) x 2 x N f(x (t) ) 2 f(x (t) ) x N x 1 x N x f(x (t) ) x 2 N gdzie: 2 f(x (t) ) x 2 i 2 f(x (t) ) x i x j = = f(x(t) i + x (t) i ) 2f(x (t) ) + f(x (t) i x (t) i ) ( x (t) i ) 2 f(x (t) i + x (t) i ) x j f(x(t) i x (t) i ) x j 2 x (t) i Pochodne cząstkowe w ostatnim wyrażeniu powyżej są z kolei liczone tak, jak składowe gradientu, tylko że w innym punkcie. Wyrażenie x (t) i + x (t) i reprezentuje wektor (x (t) 1,..., x(t) i + x (t) i,..., x (t) N )T Żeby policzyć gradient potrzebnych jest 2N ( różnych ) wartości funkcji. Ażeby N policzyć Hesjan potrzebnych jest 3N + 4 = 2N 2 + N. 2 Ponieważ gradient jest kierunkiem najszybszego wzrostu, minus gradient jest kierunkiem najszybszego spadku funkcji. Kierunek poszukiwań (ang. search direction) d (t) jest kierunkiem spadku w punkcie x (t), jeśli w otoczeniu tego punktu spełniony jest następujący warunek: f(x (t) ) d (t) 0 Oznacza to, że cosinus kąta między gradientem i kierunkiem poszukiwań jest większy niż Kierunek d (t) jest kierunkiem spadku, ponieważ w wyniku rozwinięcia f wokół x (t) otrzymujemy: f(x (t+1) ) = f(x (t) + αd (t) ) = f(x (t) ) + α f(x (t) ) d (t). 16

17 Im niższa ujemna wartość f(x (t) ) d (t) tym większy spadek funkcji w kierunku d (t). W metodach gradientowych często w ramach pojedynczej iteracji dokonuje się poszukiwań w danym kierunku. Jest to optymalizacja jednowymiarowa. Najpierw zapisujemy reprezentatywny punkt wzdłuż kierunku s (t) jako: x (k+1) = x (k) + α (k) s (k), gdzie α (k) jest długością kroku. Ponieważ x (k) i s (k) są znane, punkt x (k+1) można zapisać tylko jedną zmienną. Można więc wykonać minimalizację jednowymiarową, aby otrzymać nowy punkt x (k+1). Następnie poszukiwania kontynuuje się wzdłuż nowego kierunku s (k+1) i tak dalej aż do momentu znalezienia lokalnego minimum. Jeśli metoda gradientowa jest użyta do poszukiwań jednowymiarowych wzdłuż kierunku, minimum znajdujemy poprzez zróżniczkowanie wyrażenia f(x (t+1) ) = f(x (t) + αs (k) ) względem α i przyrównaniem do zera: f(x (k+1) ) s (k) = 0. W ten sposób znajdujemy nowy punkt x (k+1). Okazuje się że kąt pomiędzy kierunkiem poszukiwań w k-tej iteracji i kierunkiem najszybszego spadku w nowym punkcie f(x (k+1) ) jest równy Metoda Cauchy ego najszybszego spadku Kierunek poszukiwań w metodzie Cauchy ego jest kierunkiem najszybszego spadku: s (k) = f(x (k) ). Algorytm ten gwarantuje poprawę, to jest spadek wartości funkcji, w każdej iteracji. Metoda najszybszego spadku działa dobrze, gdy x (0) jest daleko od minimum x. Jeśli bieżący punkt jest blisko minimum, zmiana gradientu jest mała, wobec następny punkt powstały w wyniku poszukiwania w jednym kierunku jest blisko punktu bieżącego. Algorytm 1) Wybierz maksymalną liczbę iteracji M, punkt początkowy oraz dwa parametry zakończenia ε 1 i ε 2 i ustal k = 0. 2) Oblicz f(x (k) ) 17

18 3) Jeśli f(x (k) ) ε 1, Zakończ; Jeśli k M; Zakończ; W przeciwnym razie idź do kroku 4). 4) Wykonaj poszukiwanie wzdłuż kierunku, żeby znaleźć α (k) tak, aby f(x (k+1) ) = f(x (k) + α (k) s (k) ) było minimalne. Jednym z kryteriów zakończenia jest f(x (k+1) ) f(x (k) ) ε 2. 5) Jeśli x(k+1) x (k) ε x (k) 1, Zakończ; W przeciwnym przypadku ustal k = k + 1 i idź do kroku 2). 4.2 Metoda Newtona Rozwinięcie w szereg Taylora drugiego rzędu funkcji f wokół punktu x (t) przyjmuje następującą formę: f(x (k+1) ) = f(x (k) ) + f(x (k) ) T (x x (k) ) (x x(k) ) T 2 f(x (k) )(x x (k) ) Jeśli policzymy warunek pierwszego rzędu na maksimum lokalne tej funkcji, otrzymujemy: f(x (k) ) + 2 f(x (k) )(x x (k) ) = 0 Podstawiając x (k+1) = x, otrzymujemy: [ 1 x (k+1) = x (k) 2 f(x )] (k) f(x (k) ) Kierunek poszukiwań w metodzie Newtona jest zatem dany wyrażeniem: [ 1 s (k) = 2 f(x )] (k) f(x (k) ) Jeśli macierz [ 2 f(x (k) )] 1 jest półdodatnio określona, kierunek s (k) jest kierunkiem spadku. Warunek drugiego rzędu optymalizacji mówi, że macierz 2 f(x ) jest dodatnio określona dla minimum lokalnego. Można zatem założyć, że macierz 2 f(x) jest dodatnio określona w otoczeniu minimum. Metoda Newtona jest więc dobra, kiedy punkt początkowy jest blisko minimum. Algorytm jest bardzo podobny do metody najszybszego spadku. Poszukiwania prowadzone są jednak w innym kierunku s (k) = 2 f(x )] (k) f(x (k) [ 1 ). Możliwy warunek zakończenia optymalizacji wzdłuż kierunku wygląda następująco: [ 1 f(x(k+1) ) 2 f(x )] (k) f(x (k) ) ε 2. 18

19 4.3 Metoda Marquardta Metoda Cauchy ego działa dobrze, gdy punkt początkowy jest daleko od minimum, podczas, gdy metoda Newtona działa dobrze, gdy punkt początkowy jest blisko minimum. W metodzie Marquardta, metodę Cauchy ego stosuje się na początku by następnie zaadoptować metodę Newtona. Algorytm 1) Wybierz maksymalną liczbę iteracji M, punkt początkowy oraz parametr zakończenia ε. Ustal k = 0 oraz λ (0) = 10 4 (duża liczba). 2) Oblicz f(x (k) ) 3) Jeśli f(x (k) ) ε, Zakończ; Jeśli k M; Zakończ; W przeciwnym razie idź do kroku 4). [ 1 4) Oblicz x (k+1) = x (k) 2 f(x (k) ) + λ I] (k) f(x (k) ) 5) Jeśli f(x (k+1) ) < f(x (k) ), idź do kroku 6); W przeciwnym przypadku idź do kroku 7). 6) Ustal λ (k+1) = 1 2 λ(k), k = k + 1 i idź do kroku 2). 7) Ustal λ (k+1) = 2λ (k) i idź do kroku 4). Algorytm może być szybszy, jeśli dodatkowo będziemy dokonywać optymalizacji wzdłuż kierunku w każdej iteracji. Część III Optymalizacja z ograniczeniami. 5 Teoria Nieniejszy rozdziałma służyć intuicyjnemu przedstawieniu idei twierdzenia Lagrangeá i Kuhn-Tuckera. Dane jest następujące zadanie optymalizacyjne: max f(x) x D R N 19

20 Zbiór D jest zbiorem punktów dopuszczalnych. Zbiór ten będziemy przedstawiać za pomocą ograniczeń w postaci równości h(x) = c oraz ograniczeń w postaci nierówności g(x) c. W przypadku ograniczeń w postaci nierówności, mówimy, że dane ograniczenie jest aktywne bądź napięte w punkcie dopuszczalnym x jeśli zachodzi g(x) = c. W przeciwnym przypadku, tj. gdy g(x) < c mówimy, że ograniczenie jest nieaktywne lub luźne w punkcie dopuszczalnym x. Oczywiście dla ograniczeń w postaci równości dla punktu dopuszczalnego ograniczenie z definicji musi być napięte. Intuicję dotyczącą zagadnień optymalizacyjnych najlepiej wyrobić sobie graficznie dla przypadku, gdy x R 2. Rysunki poniżej pokazują, że w przypadku ograniczeń w postaci równości w punkcie optymalnym 5 nachylenie funkcji celu i ograniczenia powinno być równe: x 2 Równe nachylenie i mnożnik dodatni f(x*)=λ h(x*), λ>0 x* f(x*) h(x*) A x' f(x') h(x') h(x)=c x 1 x 2 Równe nachylenie i mnożnik ujemny f(x*)=λ h(x*), λ<0 f(x*) x* h(x*) A h(x') f(x') x' h(x)=c x 1 5 Zakładając różniczkowalność. 20

21 Możemy to zapisać w następujący sposób: gdzie symbol λ oznacza mnożnik Lagrange a. f(x ) = λ h(x ) (4) Tak więc problem optymalizacji z ograniczeniem max x f(x), p.w. h(x) = c można sprowadzić do problemu optymalizacji bez ograniczeń funkcji L(x, λ) = f(x) λ(h(x) c), zwanej funkcją Lagrange a, bowiem warunki pierwszego rzędu optymalizacji tej funkcji będą dokładnie równe warunkom (4) oraz ograniczeniu h(x ) = c: f(x ) λ h(x ) = 0 h(x ) c = 0 Z powyższych rysunków wynika również, że w przypadku ograniczeń w postaci równości mnożnik Lagrange a może być zarówno dodatni, jak i ujemny. Jedyna wymagana rzecz jest taka, że musi on być zdefiniowany. Aby mnożnik można było zdefiniować musi być spełniony następujący warunek: h(x ) 0 (5) Gradient ograniczenia w punkcie optymalnym musi być różny od wektora zerowego. W naszym przykładzie oznacza to, że: [ ] [ ] h(x ) 0 0 x 1 h(x ) x 2 Dla problemu optymalizacji z ograniczeniami w postaci nierówności g(x) c problem jest podobny, lecz nieco bardziej złożony. Jeśli optimum jest w punkcie, w którym dane ograniczenie nie jest aktywne, to warunek pierwszego rzędu jest taki sam jak, gdyby ograniczenia nie było tj. f(x ) = 0 (6) Warunek pierwszego rzędu funkcji Lagrange a wynosi zaś: f(x ) λg(x ) = 0 Aby te warunki się zgadzały, mnożnik Lagrange a w tym przypadku musi wynosić zero. Jeśli zaś optimum jest w punkcie, w którym dane ograniczenie jest aktywne, wówczas mamy do czynienia z sytuacją jak na rysunku poniżej: 21

22 x 2 f(x*)=λ g(x*), λ>0 f(x*) x* g(x*) g(x) c A x' f(x') g(x') x 1 W tym przypadku mnożnik Lagrange a musi być dodatni, ponieważ w przeciwnym razie moglibyśmy przesunąć punkt x do wewnątrz zbioru dopuszczalnego podnosząc wartość funkcji celu f - co przeczyłoby optymalności punktu x : x 2 Dlaczego mnożnik Lagrange'a musi być dodatni g(x*) f(x*) g(x)<b g(x)>b g(x)=b x 1 Zatem mamy dwie sytuacje możliwe w punkcie optymalnym: ograniczenie aktywne, mnożnik dodatni: g(x) = c i λ > 0 ograniczenie nieaktywne, mnożnik zerowy: g(x) < 0 i λ = 0 22

23 Te dwa przypadki można zapisać jednym warunkiem zwanym "complementary slackness": λ[g(x ) c] = 0 Analiza będzie podobna jeśli ograniczenia w postaci zamienimy na ograniczenia w postaci. Wówczas trzeba jednak w prezentacji graficznej zmodyfikować kierunki gardientów ograniczeń: x 2 Ograniczenia w postaci g 1 (x) g 4 (x) g 1 (x) b 1 {x g 2 (x)=b 2 } g 2 (x) g 2 (x) b 2 g 3 (x) b 3 g 4 (x) b 4 g 3 (x) x 1 x 2 Ograniczenia w postaci g 1 (x) g 2 (x) g 1 (x) b 1 g 2 (x) b 2 g 3 (x) b 3 g 4 (x) b 4 g 4 (x) {x g 2 (x)=b 2 } g 3 (x) x 1 W przypadku więcej niż jednego ograniczenia, zarówno jeśli chodzi o ograniczenia w postaci równości, które w punkcie optymalnym muszą być ak- 23

24 tywne z definicji 6, jak i ograniczenia w postaci nierówności, ale które w punkcie optymalnym są aktywne, mamy do czynienia z sytuacją, jak na rysunku poniżej: x 2 Kombinacja liniowa gradientów ograniczeń aktywnych f(x*)=λ 1 g 1 (x*)+λ 2 g 2 (x*) g 1 (x) c 1 g 1 (x*) g 2 (x)=c 2 g 2 (x) c 2 f(x*) g 2 (x*) g 1 (x)=c 1 x 1 Tym razem gradient funkcji celu musi być kombinacją liniową gradientów ograniczeń aktywnych. W punkcie x oba ograniczenia g 1 (x) c 1 oraz g 2 (x) c 2 są aktywne, a zatem w tym punkcie gradient funkcji celu jest kombinacją liniową gradientów obu ograniczeń. Mnożniki Lagrange a odpowiadające poszczególnym ograniczeniom występują tutaj w roli wag kombinacji liniowej. Oczywiście, aby gradient funckji celu dało się zapisać jako kombinacjłe liniową gradientów ograniczeń aktywnych, te gradienty ograniczeń aktywnych powinny być liniowo niezależne. Inaczej możemy mieć do czynienia z sytuacją, jak na rysunku poniżej: 6 Punkt optymalny musi być punktem dopuszczalnym. 24

25 x 2 Dlaczego potrzebne jest constraint qualification? g 1 (x*) f(x*) g 2 (x*) x 1 Jedyny punkt dopuszczalny to punkt x, zatem jest on zarazem punktem optymalnym. Jednakże nie da się zapisać f(x ) jako liniową kombinację gradientów g 1 (x ) i g 2 (x ). Liniowa niezależność gradientów wszystkich ograniczeń w postaci równości oraz aktywnych ograniczeń w postaci nierówności jest zwana warunkiem "constraint qualification". Warunek konieczny nie wystarczajacy Nie mozna pozbywac sie nieaktywnych ograniczen Dlaczego x=0 nie mozna zastapic x<=0 i -x<=0. Cofnij sie do h(x)=c i wytlumacz ten punkcik A na rysuneczkach 6 Algorytmy Dane są funkcje f : R N R, g j : R N R, gdzie j = 1,..., J oraz h k : R N R, gdzie k = 1,..., K. Ogólny problem optymalizacyjny w niniejszej części jest następujący: przy warunkach: min f(x) x g j (x) 0, j = 1,..., J; h k (x) = 0, k = 1,..., K; Funkcja Lagrange a dla powyższego problemu ma postać: L(x, u, v) = f(x) J u j g j (x) j=1 K v k h k (x) k=1 25

26 Warunki Kuhn-Tuckera zapisujemy następująco: J K f(x) u j g j (x) v k h k (x) = 0 j=1 k=1 g j (x) 0, j = 1,..., J; h k (x) = 0, k = 1,..., K; u j g j (x) = 0, j = 1,..., J; u j 0, j = 1,..., J. Możemy teraz zapisać twierdzenie Kuhn-Tuckera o warunku koniecznym istnienia optimum. Twierdzenie. Dla problemu zadanego powyżej, niech f, g j oraz h k będą różniczkowalne a punkt x punktem dozwolonym. Niech I(x ) = {j : g j (x ) = 0} oznacza zbiór aktywnych ograniczeń w postaci nierówności. Niech g j (x ) dla j I oraz h k (x ), dla k = 1,..., K będą liniowo niezależne ("constraint qualification"). Jeśli x jest optymalnym rozwiązaniem problemu, wówczas istnieje wektor mnożników Lagrange a (u, v ), taki że (x, u, v ) spełnia warunki Kuhn-Tuckera. Warunek "constraint qualification" oznacza, że gradienty wszystkich ograniczeń aktywnych w dozwolonym punkcie są liniowo niezależne 7. Zatem każdy optymalny punkt musi spełniać warunki Kuhn-Tuckera, ale nie każdy punkt, który spełnia warunki Kuhn-Tuckera jest optymalny. Jeśli chodzi o punkty, które nie spełniają "constraint qualification", nic się nie da o nich powiedzieć - mogą być optymalne i mogą być nieoptymalne. 6.1 Metoda funkcji kar i barier Algorytm funkcji kar i barier polega na sprowadzeniu problemu optymalizacji z ograniczeniami do serii problemów optymalizacji bez ograniczeń. Dla różnych parametrów funkcji kar i barier wykonuje się wielokrotnie optynalizację funkcji bez ograniczeń, która dana jest nastę pują cym wzorem: P(x, R) = f(x) + Ω(R, g(x), h(x)) gdzie R jest zbiorem parametrów kary a Ω jest funkcją kary, która faworyzuje selekcję punktów dopuszczalnych nad punkty niedopuszczalne. Używa 7 Ograniczenia w postaci równości są aktywne z definicji dla punktu dopuszczalnego, a spośród pozostałych ograniczeń - tych w postaci nierówności - aktywne są tylko te ze zbioru I(x ). 26

27 się różnych funkcji kary dla ograniczeń w postaci równości i dla ograniczeń w postaci nierówności. Dodatkowo niektóre funkcje Ω nakładają karę tylko na punkty niedozwolone (wówczas nazywają się funkcjami kary lub funkcjami kary zewnętrznej) a niektóre funkcje nie potrafią w ogóle radzić sobie z punktami niedopuszczalnymi i nakładają karę na punkty dozwolone, jeśli są blisko granicy ograniczenia (nazywają się wówczas funkcją bariery lub wewnętrzną funkcją kary). Poniżej przedstawiona będzie jedna wersja metody kar i barier, w której będziemy zajmować się wyłą cznie ograniczeniami w postaci nierówności i funkcja kary bedzie nastę pują cej postaci: Ω = R g(x) 2 { g(x), jeśli g(x) < 0 gdzie g(x) = 0, jeśli g(x) 0 Na początku optymalizuje się f(x)+ω dla małej wartości R, następnie sukcesywnie zwiększa się wartość R i znowu optymalizuje metodami optymalizacji bez ograniczeń dla nowych wartości R. Poniżej znajduje się algorytm: Algorytm 1) Wybierz parametry zakończenia ε 1, ε 2, początkowy punkt x (0), początkowy parametr funkcji kary R (0) oraz parametr zwiększania parametru funkcji kary c > 1. Ustal t = 0. 2) Utwórz P(x (t), R (t) ) = f(x (t) ) + R g(x (t) ) 2. 3) Startując z x (t), znajdź x (t+1) tak, że P(x (t+1), R (t) ) jest minimalne dla ustalonej wartości R (t) - wykorzystaj jedną z metod minimalizacji funkcji wielu zmiennych bez ograniczeń. Do zatrzymania poszukiwań użyj ε 1. 4) Jeśli P(x (t+1), R (t) ) P(x (t), R (t 1) ) ε 2, ustal x T = x (t+1) i Zakończ. W przeciwnym przypadku idź do kroku 5). 5) Wybierz R (t+1) = cr (t). Ustal t = t + 1 i idź do kroku 2). 6.2 Metoda Rosena rzutowanego gradientu Idea metody Rosena jest następująca: Identyfikujemy zbiór ograniczeń aktywnych. Jeśli żadne nie jest aktywne, stosujemy metodę Cauchy ego. 27

28 W przeciwnym wypadku, znadujemy kierunek metodą Cauchy ego i rzutujemy go na przecięcie przestrzeni ograniczeń aktywnych, żeby znaleźć dopuszczalny kierunek. Algorytm można przedstawić w postaci następującego pseudo-kodu: Algorytm 1) Wybierz punkt początkowy x (0) oraz parametry zakończenia ε 1, ε 2. Ustal t = 0. 2) Zidentyfikuj zbiór ograniczeń aktywnych: I (t) = {j : g j (x (t) ) ε 1, j = 1, 2,..., J} 3) Jeśli t 1 i I (t) = I (t 1) lub I (t) =, ustal s (t) = f(x (t) ) i idź do kroku 4) W przeciwnym wypadku, skonstruuj A, gdzie wierszami są h k i g j, j I (t). Następnie wylicz macierz projekcji P = I A T (AA T ) 1 A i kierunek poszukiwań s (t) = P f(x (t) ) 4) Jeśli s (t) ε 2, idź do kroku 5) W przeciwnym wypadku, wylicz mnożniki (v, u) = (AA T ) 1 A f i znajdź u m = min{u l : l I (t) } * Jeśli u m ε 2, Zakończ. W przeciwnym wypadku, wykasuj ograniczenie m z I (t) i idź do kroku 3). 5) Wyznacz maksymalną długość kroku α max, takie że: g l (w(α)) 0, l / I (t), gdzie każdy punkt wzdłuż s (t) jest reprezentowany przez w(α). 6) Wylicz α z przedziału (0, α max ) poprzez jednowymiarowe poszukiwanie wzdłuż kierunku. 7) Ustal x (t+1) = w(α ), t = t + 1, idź do kroku 2). Zilustrujmy działanie algorytmu przykładem: Dane jest następujące zadanie optymalizacji nieliniowej: 2x x2 2 2x 1x 2 4x 1 6x 2 min przy warunkach : x 1 + x 2 2 x 1 + 5x 2 5 x 1 0, x

29 Za punkt startowy przyjmujemy początek układu współrzędnych. W tym punkcie następujące ograniczenia są aktywne (bądź nieaktywne): x 1 x NA x 1 5x NA x 1 0 A x 2 0 A Macierz współczynników ograniczeń aktywnych wynosi: [ ] 1 0 A = 0 1 Liczymy macierz projekcji: [ 1 0 ] [ 1 0 ] [ 0 0 ] P = = 0 0 Zatem Liczymy mnożniki: [ ] 0 s =, s = 0 0 [ ] [ ] [ u = = ] Mniejszy mnożnik odpowiada drugiemu ograniczeniu. Kasujemy to ograniczenie. Zatem : [ ] A = 1 0 Nowa macierz projekcji: [ ] [ P = ] ( [ 1 0 ] [ 1 0 ]) 1 [ 1 0 [ ] 0 0 = 0 1 ] Kierunek: [ ] [ ] [ ] s = = Zatem: [ ] [ ] [ w(α) = x + αs = + α = 0 6 6α Wartość α max wyznaczamy z ograniczeń nieaktywnych: ] 0 6α α

30 Zatem maksymalne α spełniające te ograniczenia to: α max = 1 6. Teraz szukamy minimum wzdłuż kierunku (problem jednowymiarowy) na przedziale [0, α max ]. min 2 α [0,α max ] 36α2 36α Minimum funkcji kwadratowej jest w α = 1 4, ale jest ono poza przedziałem poszukiwań. Dlatego przyjmujemy rozwiązanie α = 1 6. Zatem następny punkt wynosi: x (1) = w(α ) = [ 0 1 ] Część IV Tutorial z OCTAVE/MATLAB 7 Wprowadzenie Liczby są konwencjonalnie zapisywane w postaci dziesiętnej. Na przykład zapis oznacza: = Komputer jest maszyną bardzo prymitywną. Potrafi tylko dodawać i to w dodatku tylko zera i jedynki. Dlatego używa zapisu binarnego złożonego z samych zer i jedynek, później dopiero przekształcając wynik do postaci dziesiętnej, aby wyświetlić na ekranie. Liczba może być zapisana w postaci binarnej w następujący sposób: =

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ Maciej Patan Uniwersytet Zielonogórski WSTEP Zadanie minimalizacji bez ograniczeń f(ˆx) = min x R nf(x) f : R n R funkcja ograniczona z dołu Algorytm rozwiazywania Rekurencyjny

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metody kierunków poparwy (metoda Newtona-Raphsona, metoda gradientów sprzężonych) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.03.2019 1

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

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

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu 1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 4. Metody kierunków poprawy (metoda spadku wzdłuż gradientu) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 21.03.2019 1 / 41 Plan wykładu Minimalizacja

Bardziej szczegółowo

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

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Zazwyczaj nie można znaleźć

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 1. Optymalizacja funkcji jednej zmiennej Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.02.2019 1 / 54 Plan wykładu Optymalizacja funkcji jednej

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji n-wymiarowych Forma kwadratowa w n wymiarach Procedury minimalizacji Minimalizacja wzdłuż prostej w n-wymiarowej przestrzeni Metody minimalizacji wzdłuż osi współrzędnych wzdłuż kierunków

Bardziej szczegółowo

1 Równania nieliniowe

1 Równania nieliniowe 1 Równania nieliniowe 1.1 Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym jest numeryczne poszukiwanie rozwiązań równań nieliniowych, np. algebraicznych (wielomiany),

Bardziej szczegółowo

WYKŁAD 9 METODY ZMIENNEJ METRYKI

WYKŁAD 9 METODY ZMIENNEJ METRYKI WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać

Bardziej szczegółowo

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np. Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona f(x 0, f ( f, f,..., f n gdzie 2 x ( x, x 2,..., x n dla n2 np. f ( x, y 0 g( x, y 0 dla każdej wielowymiarowej rozwinięcie w szereg Taylora

Bardziej szczegółowo

RÓWNANIA NIELINIOWE Maciej Patan

RÓWNANIA NIELINIOWE Maciej Patan RÓWNANIA NIELINIOWE Maciej Patan Uniwersytet Zielonogórski Przykład 1 Prędkość v spadającego spadochroniarza wyraża się zależnością v = mg ( 1 e c t) m c gdzie g = 9.81 m/s 2. Dla współczynnika oporu c

Bardziej szczegółowo

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH Jednym z zastosowań metod numerycznych jest wyznaczenie pierwiastka lub pierwiastków równania nieliniowego. W tym celu stosuje się szereg metod obliczeniowych np:

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Rozwiązywanie równań nieliniowych

Rozwiązywanie równań nieliniowych Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Materiały pomocnicze do ćwiczeń

Bardziej szczegółowo

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Strategia minimalizacji wielowymiarowej Zakładamy, że metody poszukiwania minimów

Bardziej szczegółowo

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2010 Co to znaczy rozwiazać równanie? Przypuśmy, że postawiono przed nami problem rozwiazania

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawy optymalizacji Plan prezentacji 1 Podstawy matematyczne 2 3 Eliminacja ograniczeń Metody

Bardziej szczegółowo

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów. Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów. Plan wykładu: 1. Wyznaczanie pojedynczych pierwiastków rzeczywistych równań nieliniowych metodami a) połowienia (bisekcji)

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)

Bardziej szczegółowo

Iteracyjne rozwiązywanie równań

Iteracyjne rozwiązywanie równań Elementy metod numerycznych Plan wykładu 1 Wprowadzenie Plan wykładu 1 Wprowadzenie 2 Plan wykładu 1 Wprowadzenie 2 3 Wprowadzenie Metoda bisekcji Metoda siecznych Metoda stycznych Plan wykładu 1 Wprowadzenie

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych

Bardziej szczegółowo

Funkcje dwóch zmiennych

Funkcje dwóch zmiennych Funkcje dwóch zmiennych Andrzej Musielak Str Funkcje dwóch zmiennych Wstęp Funkcja rzeczywista dwóch zmiennych to funkcja, której argumentem jest para liczb rzeczywistych, a wartością liczba rzeczywista.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Optymalizacja (minimalizacja) funkcji. Plan wykładu: 1. Sformułowanie problemu, funkcja celu. 2. Metody bezgradientowe

Optymalizacja (minimalizacja) funkcji. Plan wykładu: 1. Sformułowanie problemu, funkcja celu. 2. Metody bezgradientowe Optymalizacja (minimalizacja) funkcji Plan wykładu: 1. Sformułowanie problemu, funkcja celu. Metody bezgradientowe a) metoda złotego podziału b) metoda sympleks c) metoda interpolacji Powell'a 3. Metody

Bardziej szczegółowo

Metody rozwiązywania równań nieliniowych

Metody rozwiązywania równań nieliniowych Metody rozwiązywania równań nieliniowych Rozwiązywanie równań nieliniowych Ogólnie równanie o jednej niewiadomej x można przedstawić w postaci f ( x)=0, x R, (1) gdzie f jest wystarczająco regularną funkcją.

Bardziej szczegółowo

Elementy Modelowania Matematycznego

Elementy Modelowania Matematycznego Elementy Modelowania Matematycznego Wykład 8 Programowanie nieliniowe Spis treści Programowanie nieliniowe Zadanie programowania nieliniowego Zadanie programowania nieliniowego jest identyczne jak dla

Bardziej szczegółowo

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych, IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. Definicja 1.1. Niech D będzie podzbiorem przestrzeni R n, n 2. Odwzorowanie f : D R nazywamy

Bardziej szczegółowo

Elementy metod numerycznych

Elementy metod numerycznych Wykład nr 5 i jej modyfikacje. i zera wielomianów Założenia metody Newtona Niech będzie dane równanie f (x) = 0 oraz przedział a, b taki, że w jego wnętrzu znajduje się dokładnie jeden pierwiastek α badanego

Bardziej szczegółowo

II. FUNKCJE WIELU ZMIENNYCH

II. FUNKCJE WIELU ZMIENNYCH II. FUNKCJE WIELU ZMIENNYCH 1. Zbiory w przestrzeni R n Ustalmy dowolne n N. Definicja 1.1. Zbiór wszystkich uporzadkowanych układów (x 1,..., x n ) n liczb rzeczywistych, nazywamy przestrzenią n-wymiarową

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody poszukiwania ekstremum funkcji jednej zmiennej Materiały pomocnicze do ćwiczeń

Bardziej szczegółowo

Metoda Karusha-Kuhna-Tuckera

Metoda Karusha-Kuhna-Tuckera Badania operacyjne i teoria optymalizacji Poznań, 2015/2016 Plan 1 Sformułowanie problemu 2 3 Warunki ortogonalności 4 Warunki Karusha-Kuhna-Tuckera 5 Twierdzenia Karusha-Kuhna-Tuckera 6 Ograniczenia w

Bardziej szczegółowo

Metody numeryczne Wykład 7

Metody numeryczne Wykład 7 Metody numeryczne Wykład 7 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Plan wykładu Rozwiązywanie równań algebraicznych

Bardziej szczegółowo

Układy równań i równania wyższych rzędów

Układy równań i równania wyższych rzędów Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem

Bardziej szczegółowo

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

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe. Z5: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania zagadnienie brzegowe Dyskretne operatory różniczkowania Numeryczne obliczanie pochodnych oraz rozwiązywanie

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

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

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji Adam Kiersztyn Lublin 2014 Adam Kiersztyn () Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji maj 2014 1 / 24 Zanim przejdziemy

Bardziej szczegółowo

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. FUNKCJA LINIOWA. gdzie ; ół,. 1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta

Bardziej szczegółowo

Zaawansowane metody numeryczne

Zaawansowane metody numeryczne Wykład 11 Ogólna postać metody iteracyjnej Definicja 11.1. (metoda iteracyjna rozwiązywania układów równań) Metodą iteracyjną rozwiązywania { układów równań liniowych nazywamy ciąg wektorów zdefiniowany

Bardziej szczegółowo

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe Spis treści Elementy Modelowania Matematycznego Wykład 7 i całkowitoliczbowe Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Spis treści Spis treści 1 Wstęp 2 3 Spis treści Spis treści 1 Wstęp

Bardziej szczegółowo

5. Metody stochastyczne (symulowane wyżarzanie, algorytmy genetyczne) -> metody Monte Carlo

5. Metody stochastyczne (symulowane wyżarzanie, algorytmy genetyczne) -> metody Monte Carlo Optymalizacja (minimalizacja) funkcji Plan wykładu: 1. Sformułowanie problemu, funkcja celu 2. Metody bezgradientowe a) metoda złotego podziału b) metoda sympleks c) metoda interpolacji Powell'a 3. Metody

Bardziej szczegółowo

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;( Zad Przedstaw funkcję kwadratową w postaci ogólnej Przykład y = ( x ) + 5 (postać kanoniczna) FUNKCJA KWADRATOWA Postać ogólna funkcji kwadratowej to: y = ax + bx + c;( a 0) Aby ją uzyskać pozbywamy się

Bardziej szczegółowo

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe Bezgradientowe metody optymalizacji funkcji wielu zmiennych informacje dodatkowe Wybór kierunku poszukiwań Kierunki bazowe i ich modyfikacje metody bezgradientowe. Kierunki oparte na gradiencie funkcji

Bardziej szczegółowo

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

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Metody Numeryczne Optymalizacja. Wojciech Szewczuk Metody Numeryczne Optymalizacja Optymalizacja Definicja 1 Przez optymalizację będziemy rozumieć szukanie minimów lub maksimów funkcji. Optymalizacja Definicja 2 Optymalizacja lub programowanie matematyczne

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium Zadanie nr 3 Osada autor: A Gonczarek Celem poniższego zadania jest zrealizowanie fragmentu komputerowego przeciwnika w grze strategiczno-ekonomicznej

Bardziej szczegółowo

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

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych Uniwersytet Zielonogórski Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Elektrotechnika niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Ćwiczenia lista zadań nr 3 autorzy: A. Gonczarek, J.M. Tomczak Zbiory i funkcje wypukłe Zad. 1 Pokazać, że następujące zbiory są wypukłe: a) płaszczyzna S = {x

Bardziej szczegółowo

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

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

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

Bardziej szczegółowo

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński. Metody numeryczne Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl nm_slides-9.tex Metody numeryczne Janusz Szwabiński 7/1/2003 20:18 p.1/64 Równania nieliniowe 1. Równania nieliniowe z pojedynczym

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

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

Funkcja kwadratowa. f(x) = ax 2 + bx + c, Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \

Bardziej szczegółowo

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Strategia minimalizacji wielowymiarowej Zakładamy, że metody poszukiwania minimów

Bardziej szczegółowo

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

Rozwiązywanie układów równań liniowych Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy

Bardziej szczegółowo

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ FUNKCJE DWÓCH ZMIENNYCH RZECZYWISTYCH Definicja 1. Niech A będzie dowolnym niepustym zbiorem. Metryką w zbiorze A nazywamy funkcję rzeczywistą

Bardziej szczegółowo

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

Równania różniczkowe liniowe wyższych rzędów o stałych współcz Równania różniczkowe liniowe wyższych rzędów o stałych współczynnikach Katedra Matematyki i Ekonomii Matematycznej SGH 12 maja 2016 Równanie liniowe n-tego rzędu Definicja Równaniem różniczkowym liniowym

Bardziej szczegółowo

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Lokalna minimalizacja ciagła Minimalizacja funkcji jest jedna z najważniejszych

Bardziej szczegółowo

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji. VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji. Twierdzenie 1.1. (Rolle a) Jeżeli funkcja f jest ciągła w przedziale domkniętym

Bardziej szczegółowo

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

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

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

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja Politechnika Wrocławska, Wydział Informatyki i Zarządzania Optymalizacja Dla podanych niżej problemów decyzyjnych (zad.1 zad.5) należy sformułować zadania optymalizacji, tj.: określić postać zmiennych

Bardziej szczegółowo

1 Pochodne wyższych rzędów

1 Pochodne wyższych rzędów 1 Pochodne wyższych rzędów Definicja 1.1 (Pochodne cząstkowe drugiego rzędu) Niech f będzie odwzorowaniem o wartościach w R m, określonym na zbiorze G R k. Załóżmy, że zbiór tych x G, dla których istnieje

Bardziej szczegółowo

Definicja pochodnej cząstkowej

Definicja pochodnej cząstkowej 1 z 8 gdzie punkt wewnętrzny Definicja pochodnej cząstkowej JeŜeli iloraz ma granicę dla to granicę tę nazywamy pochodną cząstkową funkcji względem w punkcie. Oznaczenia: Pochodną cząstkową funkcji względem

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

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

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k. Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy

Bardziej szczegółowo

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1 Wstęp do metod numerycznych Zadania numeryczne /7 Warunkiem koniecznym (nie wystarczającym) uzyskania zaliczenia jest rozwiązanie co najmniej 3 z poniższych zadań, przy czym zadania oznaczone literą O

Bardziej szczegółowo

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27.1. Wiadomości wstępne Równaniem różniczkowym cząstkowym nazywamy związek w którym występuje funkcja niewiadoma u dwóch lub większej liczby zmiennych niezależnych i

Bardziej szczegółowo

x y

x y Przykłady pytań na egzamin końcowy: (Uwaga! Skreślone pytania nie obowiązują w tym roku.). Oblicz wartość interpolacji funkcjami sklejanymi (przypadek (case) a), dla danych i =[- 4 5], y i =[0 4 -]. Jaka

Bardziej szczegółowo

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

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a Programowanie nieliniowe Badania operacyjne Wykład 3 Metoda Lagrange a Plan wykładu Przykład problemu z nieliniową funkcją celu Sformułowanie problemu programowania matematycznego Podstawowe definicje

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

KADD Metoda najmniejszych kwadratów funkcje nieliniowe Metoda najmn. kwadr. - funkcje nieliniowe Metoda najmniejszych kwadratów Funkcje nieliniowe Procedura z redukcją kroku iteracji Przykłady zastosowań Dopasowanie funkcji wykładniczej Dopasowanie funkcji

Bardziej szczegółowo

Wielokryteriowa optymalizacja liniowa cz.2

Wielokryteriowa optymalizacja liniowa cz.2 Wielokryteriowa optymalizacja liniowa cz.2 Metody poszukiwania końcowych rozwiązań sprawnych: 1. Metoda satysfakcjonujących poziomów kryteriów dokonuje się wyboru jednego z kryteriów zadania wielokryterialnego

Bardziej szczegółowo

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c FUNKCJA KWADRATOWA 1. Definicje i przydatne wzory DEFINICJA 1. Funkcja kwadratowa lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax + bx + c taką, że a, b, c R oraz a 0. Powyższe wyrażenie

Bardziej szczegółowo

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

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna Interpolacja Marcin Orchel 1 Wstęp Mamy daną funkcję φ (x; a 0,..., a n ) zależną od n + 1 parametrów a 0,..., a n. Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1

Bardziej szczegółowo

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : R n R m będzie pewna funkcja odpowiednio wiele

Bardziej szczegółowo

Całkowanie numeryczne przy użyciu kwadratur

Całkowanie numeryczne przy użyciu kwadratur Całkowanie numeryczne przy użyciu kwadratur Plan wykładu: 1. Kwadratury Newtona-Cotesa a) wzory: trapezów, parabol etc. b) kwadratury złożone 2. Ekstrapolacja a) ekstrapolacja Richardsona b) metoda Romberga

Bardziej szczegółowo

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych wyliczamy według wzoru (x, x 2,..., x n ) f(x, x 2,..., x n )

Bardziej szczegółowo

Programowanie matematyczne

Programowanie matematyczne dr Adam Sojda Badania Operacyjne Wykład Politechnika Śląska Programowanie matematyczne Programowanie matematyczne, to problem optymalizacyjny w postaci: f ( x) max przy warunkach g( x) 0 h( x) = 0 x X

Bardziej szczegółowo

PROGRAMOWANIE KWADRATOWE

PROGRAMOWANIE KWADRATOWE PROGRAMOWANIE KWADRATOWE Programowanie kwadratowe Zadanie programowania kwadratowego: Funkcja celu lub/i co najmniej jedno z ograniczeń jest funkcją kwadratową. 2 Programowanie kwadratowe Nie ma uniwersalnej

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

1 Funkcje dwóch zmiennych podstawowe pojęcia

1 Funkcje dwóch zmiennych podstawowe pojęcia 1 Funkcje dwóch zmiennych podstawowe pojęcia Definicja 1 Funkcją dwóch zmiennych określoną na zbiorze A R 2 o wartościach w zbiorze R nazywamy przyporządkowanie każdemu punktowi ze zbioru A dokładnie jednej

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

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

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Metody numeryczne II

Metody numeryczne II Metody numeryczne II Poszukiwanie ekstremów funkcji Janusz Szwabiński szwabin@ift.uni.wroc.pl nmslides-13.tex Metody numeryczne II Janusz Szwabiński 29/5/2003 14:40 p.1/55 Poszukiwanie ekstremów funkcji

Bardziej szczegółowo

Układy równań liniowych

Układy równań liniowych Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K

Bardziej szczegółowo

Metody optymalizacji nieliniowej w R Podstawy teoretyczne i zastosowania ekonomiczne. Bogumił Kamiński, Grzegorz Koloch, Michał Lewandowski

Metody optymalizacji nieliniowej w R Podstawy teoretyczne i zastosowania ekonomiczne. Bogumił Kamiński, Grzegorz Koloch, Michał Lewandowski Metody optymalizacji nieliniowej w R Podstawy teoretyczne i zastosowania ekonomiczne Bogumił Kamiński, Grzegorz Koloch, Michał Lewandowski 29 lipca 2014 Spis treści Wprowadzenie....................................

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

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

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 Normy wektorów i macierzy (5.3.1) Niech 1 X =[x x Y y =[y1 x n], oznaczają wektory przestrzeni R n, a yn] niech oznacza liczbę rzeczywistą. Wyrażenie x i p 5.3.1.a X p = p n i =1 nosi nazwę p-tej normy

Bardziej szczegółowo

Uczenie sieci typu MLP

Uczenie sieci typu MLP Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik

Bardziej szczegółowo

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

Metody numeryczne. materiały do wykładu dla studentów Metody numeryczne materiały do wykładu dla studentów 5. Przybliżone metody rozwiązywania równań 5.1 Lokalizacja pierwiastków 5.2 Metoda bisekcji 5.3 Metoda iteracji 5.4 Metoda stycznych (Newtona) 5.5 Metoda

Bardziej szczegółowo

1 Wartości własne oraz wektory własne macierzy

1 Wartości własne oraz wektory własne macierzy Rozwiązania zadania umieszczonego na końcu poniższych notatek proszę przynieść na kartkach Proszę o staranne i formalne uzasadnienie odpowiedzi Za zadanie można uzyskać do 6 punktów (jeżeli przyniesione

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

Układy równań liniowych. Krzysztof Patan

Układy równań liniowych. Krzysztof Patan Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych

Bardziej szczegółowo