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 postaci nierówności Postać ograniczeń f i (x) = 0 f i (x) 0 i f i (x) 0 lub f i (x) = 0 f i (x) 0 i f i (x) 0 Postać kanoniczna problemu programowania matematycznego Sformułowanie problemu [ x R n ]zminimalizować f 0 (x) przy ograniczeniach f i (x) 0, i = 1,..., m
[ x R n ]zminimalizować f 0 14) 2 + (x 2 11) 2 przy ograniczeniach f 1 11) 2 + (x 2 13) 2 49 0 f 2 (x) = x 1 + x 2 19 0 x 2 f 1 11) 2 + (x 2 13) 2 49 (0, 0) x 1
x 2 f 1 11) 2 + (x 2 13) 2 49 (0, 0) f 2 (x) = x 1 +x 2 19 0 x 1 x 2 f 1 11) 2 + (x 2 13) 2 49 f 0 14) 2 + (x 2 11) 2 (0, 0) f 2 (x) = x 1 +x 2 19 0 x 1
x 2 f 1 11) 2 + (x 2 13) 2 49 f 0 14) 2 + (x 2 11) 2 x = (11, 8) (0, 0) f 2 (x) = x 1 +x 2 19 0 x 1 x 2 f 0 14) 2 + (x 2 11) 2 x = (11, 8) (0, 0) f 2 (x) = x 1 +x 2 19 0 x 1
Ograniczenia aktywne x 2 f 0 14) 2 + (x 2 11) 2 x = (11, 8) (0, 0) f 2 (x) = x 1 +x 2 19 = 0 x 1 [ x R n ]zminimalizować f 0 14) 2 + (x 2 11) 2 przy ograniczeniach: ograniczenie nieaktywne f 1 11) 2 + (x 2 13) 2 49 0 ograniczenie aktywne: f 2 (x) = x 1 + x 2 19 = 0 Można zastosować metodę Lagrange a albo podstawienie.
Postępowanie gdy ograniczenia mają postać nerówności 1 Ustalić, które ograniczenia są aktywne, a które nieaktywne. 2 Usunąć ograniczenia nieaktywne i zamienić ograniczenia aktywne na równości. 3 Rozwiązać otrzymane zadanie metodą Lagrange a. Warunki ortogonalności Funkcja Lagrange a: L(x, u) = f 0 (x) + u 2 f 2 (x) L(x, u) = f 0 (x) + u 1 f 1 (x) + u 2 f 2 (x) u 1 = 0
Warunki ortogonalności Funkcja Lagrange a: L(x, u) = f 0 (x) + m u i f i (x) i=1 warunki ortogonalności u i f i (x) = 0, i = 1,..., m Warunki Karusha-Kuhna-Tuckera (KKT) [ x R n ]zminimalizować f 0 (x) przy ograniczeniach f i (x) 0, i = 1,..., m f 0 (x) + m i=1 u i f i (x) = 0 u i f i (x) = 0, i = 1,..., m f i (x) 0, i = 1,..., m u i 0, i = 1,..., m warunki gradientowe warunki ortogonalności warunki dopuszczalności warunki nieujemności
Twierdzenia Karusha-Kuhna-Tuckera Dany jest problem programowania matematycznego: [ x R n ]zminimalizować f 0 (x) przy ograniczeniach f i (x) 0, i = 1,..., m warunki konieczne jeżeli i i to ( ) f i jest różniczkowalna, i = 0,..., m x jest minimum lokalnym spełnione są ograniczenia ( ) istnieje wektor u taki, że (x, u ) spełnia warunki KKT; warunki dostateczne jeżeli i to (x, u ) spełnia warunki KKT f i jest funkcją wypukłą, i = 0,..., m x jest minimum globalnym. Funkcja wypukła Funkcja f jest wypukła wtedy i tylko wtedy, gdy dla dowolnych punktów x oraz y zachodzi: f (λx + (1 λ)y) λf (x) + (1 λ)f (y) dla wszystkich λ takich, że 0 λ 1. Funkcja f (x) jest wklęsła wtw gdy funkcja ( f (x)) jest wypukła.
Sprawdzanie wypukłości funkcji 1 Z definicji wypukłości 2 Z określoności Hesjanu 3 Z twierdzeń o minorach Głównym minorem (wiodącym) macierzy H nazywa się wyznacznik macierzy kwadratowej, którego główna przekątna zawiera się w głównej przekątnej H i zgodny jest element (1,1). Jeżeli H jest symetryczna, to H jest dodatnio określona wtw każdy wiodący minor główny jest dodatni; H jest dodatnio półokreślona wtw wszystkie minory główne są nieujemne. Hesjan a wypukłość funkcji H(x) jest dodatnio półokreślona dla wszystkich wartości x f (x) jest funkcją wypukłą H(x) jest dodatnio określona dla wszystkich wartości x f(x) jest funkcją ściśle wypukłą
Wnioski Jeżeli funkcja jest wypukła, to jej punkt stacjonarny jest z pewnością minimum. Jeżeli funkcja celu i warunki ograniczające są wypukłe, to rozwiązanie warunków KKT odpowiada znalezieniu minimum globalnego. 1 Sformułować funkcję Lagrange a L(x, u) = f 0 (x) + m u i f i (x) 2 Znaleźć wszystkie rozwiązania (x, u ) następujacego układu równań i nierówności: L x j = 0 j = 1,..., n u i f i (x) = 0 i = 1,..., m f i (x) 0 i = 1,..., m u i 0 i = 1,..., m 3 Jeżeli wszystkie funkcje f i są ciągłe, to punkt x jest minimum globalnym. Wprzeciwnym razie należy zbadać każdy punkt (x, u ) i określić, czy jest w nim osiągane optimum. i=1
zminimalizować f 0 (x) = 3x 1 + 1 2 x 2 przy ograniczeniach f 1 (x) = x1 2 + x 2 2 1 0 f 2 (x) = x 1 0 f 3 (x) = x 2 0