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 : a T x b = 0}, gdzie x R D, a R D, b R; b) półprzestrzeń S = {x : a T x b 0}, gdzie x R D, a R D, b R; c) kula S = {x : x x c r}, x c środek kuli, r promień kuli; d) elipsoida S = {x : (x x c ) T P 1 (x x c ) 1}, x c środek elipsoidy, P macierz symetryczna, dodatnio określona; e) stożek S = {(x, t) : x t}, t R + ; f) wielościan S = {x : Ax b, Cx = d}; g) zbiór macierzy symetrycznych S n o wymiarach n n; h) zbiór macierzy symetrycznych dodatnio określonych S++ n = {X S n : X 0}. Zad. 2 Pokazać, że następujące funkcje są wypukłe: a) funkcja liniowa f(x) = a T x + b; b) dowolna norma x ; c) forma kwadratowa f(x) = x T Ax + b T x + c, gdzie A jest macierzą symetryczną dodatnio określoną; d) ujemna entropia H(x) = x log x, x > 0; e) funkcja macierzowa liniowa f(x) = tr(ax) + b; 1
Formułowanie wypukłych problemów optymalizacji Zad. 3 Do wytworzenia produktów P 1 i P 2 potrzeba surowców S 1, S 2 i S 3. Aby wytworzyć produkt P 1, trzeba zużyć 12 jednostek surowca S 1 oraz 8 jednostek surowca S 2. Do wytworzenia produktu P 2 potrzeba zużyć 6 jednostek S 1, 12 jednostek S 2 oraz 10 jednostek S 3. Dostępnych jest 630 jednostek surowca S 1, 620 surowca S 2 oraz 350 surowca S 3. Zysk ze sprzedaży jednej jednostki produktu P 1 wynosi 20 natomiast ze sprzedaży jednostki P 2 jest równy 60. Celem jest maksymalizacja zysku z produkcji. Zad. 4 Mamy za zadanie wytworzyć wymagane ilości U 1,..., U M dla M rodzajów produktów dysponując N maszynami. Każdy produkt można wytwarzać na dowolnej maszynie, przy czym, ze względu na zróżnicowaną wydajność maszyn, do wytworzenia jednostki m-tego produktu n-ta maszyna potrzebuje t mn czasu, co wiąże się z kosztem c mn w przeliczeniu na jednostkę produktu. Do dyspozycji jest T n jednostek czasu n-tej maszyny. Należy przydzielić takie ilości u mn produktu m-tego na n-tą maszynę, aby koszt produkcji był minimalny. Sformułować odpowiedni problem optymalizacji i uzasadnić, że jest on wypukły. Zad. 5 Dany jest model y = φ(x) T w, gdzie w = (w 0 w 1... w M 1 ) T jest wektorem parametrów, a φ(x) = (φ 0 (x) φ 1 (x)... φ M 1 (x)) T jest wektorem funkcji bazowych. Dysponujemy następującymi obserwacjami y = (y 1 y 2... y N ) T oraz X = [x 1 x 2... x N ]. Oznaczmy przez Φ = [φ(x 1 ) φ(x 2 )... φ(x N )] T. Sformułować problemy programowania liniowego mające na celu wyznaczenie wektora parametrów w dla: a) normy 1 ; b) normy. W jakich przypadkach uzasadnione jest użycie tych norm? Zad. 6 Na poczcie paczka w kształcie prostopadłościaniu może być wysłana, jeżeli łączna suma wymiarów nie przekracza d. Interesuje nas wysłanie paczki o największej objętości. Sformułować wypukły problem optymalizacji. Zad. 7 Dane są punkty x 1,..., x N oraz prostopadłościan Π = {x : A(x b) 1}, gdzie A jest 2
macierzą diagonalną, b jest środkiem prostopadłościanu. Prostopadłościan ma zawierać punkty x 1,..., x N i mieć możliwie najmniejszą objętość. Sformułować wypukły problem optymalizacji. Objętość prostopadłościanu jest równa det A 1. Skorzystać z tego faktu przy konstruowaniu funkcji celu i wyjaścić dlaczego tak jest? 3
DODATEK Zbiór wypukły: Zbiór S nazywamy zbiorem wypukłym wtedy i tylko wtedy, gdy dla dowolnych dwóch elementów x, y S zachodzi warunek θx + (1 θ)y S, gdzie θ [0, 1]. Funkcja wypukła: Funkcję f : R D R nazywamy funkcją wypukłą wtedy i tylko wtedy, gdy dla dowolnych dwóch elementów x, y R D zachodzi warunek f(θx + (1 θ)y) θf(x) + (1 θ)f(y), gdzie θ [0, 1]. Operacaje zachowujące wypukłość funkcji: Nieujemna suma ważona: f(x) = w 1 f 1 (x) + w 2 f 2 (x) +... + w K f K (x), gdzie w k 0 i f k (x) jest wypukła dla każdego k = 1, 2,..., K. Maksimum: f 1,..., f K są funkcjami wypukłymi, wtedy f(x) = max{f 1 (x),..., f K (x)} jest wypukła. Złożenie funkcji wypukłej z przekształceniem afinicznym: f(ax + b) jest wypukła, gdy f(y) jest wypukła. Złożenie dwóch funkcji: niech g : R D R, h : R R, wówczas f(x) = h(g(x)) jest wypukła, jeśli g jest wypukła i h jest wypukła i niemalejąca, albo g jest wklęsła i h jest wypukła i nierosnąca. Wypukły problem optymalizacji: F (x) ψ m (x) 0, gdzie m = 1, 2,..., M gdzie F ( ) jest funkcją wypukłą, ψ m ( ) jest wypukła dla każdego m = 1, 2,..., M. 4
Szczególne przypadki wypukłych problemów optymalizacji: Programowanie liniowe c T x + d Gx h Programowanie kwadratowe ½x T Px + q T x + r Gx h gdzie P jest macierzą dodatnio półokreśloną (P S D + ). Programowanie kwadratowe z ograniczeniami kwadratowymi ½x T Px + q T x + r ½x T G m x + h T mx + k m dla m = 1,..., M gdzie P i G m (dla m = 1,..., M) są macierzami dodatnio półokreślonymi. Algorytm Interior-Point: Dla danego wypukłego problemu optymalizacji F (x) ψ m (x) 0, gdzie m = 1, 2,..., M funkcja z logarytmiczną barierą ma następującą postać M G t (x) = tf (x) log( ψ m (x)), gdzie t > 0 jest ustalonym parametrem. m=1 5
Krok algorytmu Newtona x wyliczamy z zależności x = 2 G(x) w A 0 A T 1 G(x). 0 Algorytm: 1. Ustalić punkt startowy x 0 spełniający ograniczenia równościowe. 2. Uzyskać x (t) minimalizujące G t (x) metodą Newtona z krokiem x wyliczanym zgodnie z procedurą powyżej. 3. x 0 := x (t) 4. Stop, jeśli M < ε. W przeciwnym razie t := µt i wróć do 2. t Gdzie µ jest ustaloną liczbą (np. µ = 10), a ε ustaloną dokładnością (np. ε = 0.00001). Optymalizacja z ograniczeniami równościowymi - funkcja Lagrange a: Dana jest funkcja celu F (x), gdzie x R D oraz M ograniczeń równościowych ϕ m (x) = 0; m = 1, 2,..., M. Zadanie optymalizacji z ograniczeniami można sprowadzić do zadania optymalizacji bez ograniczeń funkcji Lagrange a: M L(x, λ) = F (x) + λ m ϕ m (x), gdzie λ = (λ 1... λ M ) T, jest wektorem mnożników Lagrange a. Punkt optymalny spełnia wówczas następujący układ równań: m=1 x L(x, λ) = 0, λ L(x, λ) = 0. Optymalizacja z ograniczeniami nierównościowymi - warunki Kuhna-Tuckera: Dana jest funkcja celu F (x), gdzie x R D oraz M ograniczeń ψ m (x) 0; m = 1, 2,..., M. Zadanie optymalizacji z ograniczeniami można sprowadzić do zadania optymalizacji bez ograniczeń funkcji Lagrange a: M L(x, µ) = F (x) + µ i ψ m (x), gdzie µ = (µ 1... µ M ) T, jest wektorem tzw. mnożników Lagrange a. Punkt optymalny spełnia wówczas następujący układ równań: 6 m=1
x L(x, µ) = 0, µ L(x, µ) 0, µ m ψ m (x) = 0, m = 1, 2,..., M, µ m 0, m = 1, 2,..., M. 7