Wykład: optymalizacja
Transkrypt
Wykład: optymalizacja
Maciej Grzesiak Optymalizacja Oznaczenia. Część pojęć i twierdzeń jest formułowana dla ogólnej przestrzeni liniowej V . Jeśli jest ona skończenie wymiarowa, tzn. V = Rn dla pewnego n, to wektory traktujemy jak macierze kolumnowe. 1. Wstęp Optymalizacja to ogólnie biorąc wyznaczanie najlepszego rozwiązania danego zagadnienia. Najlepsze rozwiązanie jest rozumiane w sensie maksymalizacji bądź minimalizacji pewnego kryterium liczbowego. Zagadnienia optymalizacyjne w tak szerokim sensie występują w: – ”czystej” matematyce, np. zagadnienie brachistochrony, zagadnienie minimalizacji powierzchni bryły o ustalonej objętości – problemach technicznych, np. optymalizacja powierzchni zajmowanej przez zaprojektowany układ elektroniczny, maksymalizacja oszczędzonego miejsca – problemach zarządzania, np. szeregowanie zadań w celu minimalizacji czasu wykonania, minimalizacja czasu dotarcia (przejazdu) na miejsce – ekonomii, np. ustalanie asortymentu produkcji w celu maksymalizacji zysku. Bardziej szczegółowo opiszemy trzy problemy. Zagadnienie transportowe. Producent musi wysłać pewną liczbę jednostek towaru z kilku składnic do określonych punktów sprzedaży. Każdy punkt sprzedaży zamawia określoną ilość towaru, a każda składnica może dostarczyć również określoną ilość towaru. Wprowadzamy oznaczenia — m - liczba składnic, — n - liczba punktów sprzedaży, — ai - całkowita ilość towaru do wysyłki ze składnicy i, — bj - całkowite zapotrzebowanie towaru w punkcie sprzedaży j, — xij - ilość towaru przesyłana ze składnicy i do punktu sprzedaży j Założymy także, że zapotrzebowanie jest równe produkcji (choć nie jest to niezbędne, ale na początek będzie łatwiej). Wartości xij należy wyliczyć. Przykładowo dla m = 2 i n = 3 całkowita ilość przewożona ze składnicy 1 spełnia równanie x11 + x12 + x13 = a1 , 1 a dla składnicy 2: x21 + x22 + x23 = a2 . Ponadto x11 + x21 = b1 x12 + x22 = b2 x13 + x23 = b3 Przesłanie towaru ze składnicy i do punktu sprzedaży j kosztuje cij xij (a więc cij jest kosztem przesłania jednostki towaru). Zatem koszt całkowity to c11 x11 + c12 x21 + c13 x13 + c21 x21 + c22 x22 + c23 x23 . Podsumowując, należy zminimalizować funkcję kosztu c11 x11 + c12 x21 + c13 x13 + c21 x21 + c22 x22 + c23 x23 , przy ograniczeniach xij 0 oraz x11 + x12 + x13 = a1 , x21 + x22 + x23 = a2 , x11 + x21 = b1 , x12 + x22 = b2 , x13 + x23 = b3 . Zagadnienie analizy działalności gospodarczej. Środki produkcji (surowce, praca załogi, sprzęt, technologia itd.) mogą służyć produkcji kilku różnych towarów. Wiadomo, jaka ilość środka i jest potrzebna do produkcji towaru j, i wiadomo także jaki dochód daje każda jednostka towaru j. Wprowadzamy oznaczenia — m - ilość środków, — n - ilość towarów, — aij - ilość jednostek środka i wymagana do wytworzenia jednostki towaru j, — bi - maksymalna dostępna ilość jednostek środka i, — cj - dochód jaki daje wyprodukowana jednostka towaru j — xj - produkowana ilość towaru j Współczynniki aij nazywamy współczynnikami nakładów i wyników. Całkowite zużycie i-tego środka jest określone wyrażeniem ai1 x1 + ai2 x2 + · · · + ain xn . Ponieważ mamy ograniczenia ilościowe, więc ai1 x1 + ai2 x2 + · · · + ain xn ¬ bi . Podsumowanie: należy zmaksymalizować funkcję zysku c1 x 1 + c2 x 2 + · · · + cn x n , 2 przy ograniczeniach xj 0 dla j = 1, 2, . . . , n oraz a11 x1 + a12 x2 + · · · + a1n xn = a1 ¬ b1 a21 x1 + a22 x2 + · · · + a2n xn = a1 ¬ b2 am1 x1 + am2 x2 + · · · + amn xn = a1 ¬ bm . Liczby xj 0, j = 1, 2, . . . , n wygodnie jest traktować jak współrzędne wektora x, a liczby aij 0 jak elementy macierzy. Zagadnienie planowania produkcji. Firma pragnie ustalić plan swojej produkcji na pewien okres czasu. Dla tego okresu znana jest funcja popytu na produkt. Ewentualny nadmiar będzie zmagazynowany; koszt jest proporcjonalny do przechowywanej ilości dóbr. Oznaczamy: x(t) – zapasy posiadane w chwili t, r(t) – ilość produkowanego produktu w chwili t, d(t) – popyt w chwili t, Wtedy x0 (t) = r(t) − d(t), x(0) = x0 . Szukamy funkcji r spełniającej warunki r(t) 0 x0 + Z t (r(u) − d(u))du = x(t) 0 0 dla 0 ¬ t ¬ T , i minimalizującej funkcjonał kosztów I= Z T c r(t) + h(t) dt, 0 gdzie c(r) jest kosztem produkcji r, a hx jest kosztem magazynowania zapasów. Funkcja r, której szukamy, jest elementem przestrzeni C[0, T ] i musi spełniać podane ograniczenia, a więc r musi należeć do obszaru wyznaczonego przez te ograniczenia. 2. Główne twierdzenia Teoria optymalizacji wyrosła z kilku prostych i intuicyjnych związków geometrycznych. Metody analizy funkcjonalnej umożliwiają rozwinięcie intuicji geometrycznej w kierunku złożonych problemów, nawet nieskończenie wymiarowych. Twierdzenie o rzucie ortogonalnym W najprostszym trójwymiarowym przypadku mówi ono, że najkrótsza odległość punktu od płaszczyzny jest wyznaczona przez odcinek prostej prostopadłej do tej płaszczyzny. W uogólnionej postaci, dla przestrzeni o wyższym wymiarze i nieskończenie wymiarowych przestrzeni Hilberta, jest ono podstawą procesów estymacyjnych i aproksymacji metodą najmniejszych kwadratów. Twierdzenie Hahna-Banacha Istnieje sporo wersji tego twierdzenia. Następująca nie jest najbardziej ogólna. 3 Twierdzenie 1. Niech f będzie ograniczonym funkcjonałem liniowym określonym na podprzestrzeni M pewnej rzeczywistej i unormowanej przestrzeni liniowej X. Wówczas istnieje ograniczony funkcjonał liniowy F będący rozszerzeniem funkcjonału f na całą przestrzeń X oraz kF kX = kf kM . Można to traktować jako twierdzenie o istnieniu rozwiązania w zagadnieniach minimalizacji. Mając dany ograniczony funkcjonał liniowy f na podprzestrzeni M przestrzeni unormowanej X nie jest trudno rozszerzyć go na całą przestrzeń, ale uzyskane rozszerzenie nie musi być ograniczone. Powstaje zatem problem znalezienia rozszerzenia o minimalnej normie. To właśnie gwarantuje twierdzenie Hahna-Banacha: istnienie rozszerzenia o minimalnej normie. Jednocześnie mówi nam ile wynosi ta norma. Dualność Najprostszym twierdzeniem o dualności jest konstatacja, że w przestrzeni problemy dotyczące wektorów są połączone z problemami wyrażonymi za pomocą płaszczyzn. Np. problem odległości punktu od zbioru, dla którego w ogólniejszej wersji mamy stwierdzenie: najkrótszy odstęp pomiędzy punktem a zbiorem wypukłym jest równy maksimum odległości pomiędzy tym punktem a hiperpłaszczyzną oddzielającą go od zbioru wypukłego. A zatem początkowa minimalizacja po wektorach może być zastąpiona maksymalizacją po hiperpłaszczyznach. Różniczki Nawet na najskromniejszych kursach rachunku różniczkowego prezentuje się metodę optymalizacji polegającą na przyrównaniu do zera pochodnej danej funkcji. Ta metoda ma bezpośrednie rozszerzenie nawet na przestrzenie nieskończenie wymiarowe. W jednowymiarowym przypadku interpretacja geometryczna jest znana: w maksimum lub minimum styczna do wykresu funkcji przyjmuje położenie poziome. W przypadku wyższych wymiarów jest podobnie: w maksimum lub minimum hiperpłaszczyzna styczna do wykresu funkcji przyjmuje położenie poziome. 3. Podstawowe typy problemów optymalizacji Programowanie liniowe. Jest to najbardziej naturalny sposób formułowania różnorodnych problemów w stosunkowo nietrudny sposób. Mamy tu liniowe funkcje wielkości szukanych i liniowe równania bądź nierówności precyzujące ograniczenia. Np. problem budżetu: jeśli mamy go podzielić na dwa różne przedsięwzięcia, to ograniczenie ma postać x1 + x2 ¬ B, gdzie xi są kwotami przeznaczonymi na te przedsięwzięcia, a B jest budżetem. Problemy optymalizacji bez ograniczeń. Takie problemy warto rozważać, gdyż są prostsze w analizie i stanowią kamień węgielny metod rozwiązywania problemów optymalizacji z ograniczeniami. Ponadto wiele problemów z ograniczeniami można sprowadzić do tych bez ograniczeń, przez wyrażenie pewnych zmiennych jako funkcji innych. Np. ograniczenie x1 + x2 = B może zostać wyeliminowane, gdy będziemy podstawiać x2 = B − x1 wszędzie tam, gdzie x2 występuje. Z drugiej strony w problemie budżetu można pominąć ograniczenia, jeśli są możliwości pozyskania dodatkowych funduszy. Należałoby wtedy raczej do problemu wprowadzić składnik odzwierciedlający koszt pozyskania funduszy. 4 Problemy optymalizacji z ograniczeniami. Mimo wszystko takie problemy pojawiają się najczęściej, bo często problemy ogólne (np. szczegółowy plan produkcji dużej korporacji) jest dzielony na podproblemy, z których każdy będzie miał ograniczenia, bo muszą się one złożyć w całość. Ogólne sformułowanie ma postać f (x) → min hi (x) = 0, i = 1, 2, . . . m gj (x) ¬ 0, j = 1, 2, . . . p x ∈ S ⊂ Rn (1) Ogólnie będziemy zakładać, że problem jest ”gładki”, tzn. że funkcje są ciągłe (lub mają ciągłe pochodne), co zapewni, że małe zmiany w x skutkują małymi zmianami w funkcjach związanych z tym problemem. Również zbiór S nie jest dowolny; zakładamy przynajmniej, że jest to obszar spójny. Skala problemów. Naturalną miarą złożoności problemów jest ich rozmiar, mierzony liczbą występujących zmiennych i funkcji ograniczających. Przyjmuje się podział na na trzy klasy: problemy o małej skali, zawierające do pięciu zmiennych, problemy o średniej skali, zawierające do stu (lub tysiąca) zmiennych, i problemy o dużej skali, które mogą mieć nawet miliony zmiennych. 4. Nieliniowe zagadnienia optymalizacji (NZO) W ZPL zarówno funkcja celu jak i funkcje ograniczające są liniowe. Ogólniej, rozważmy zbiór wypukły W ⊂ Rn , funkcję wypukłą f : W → R i problem minimalizacji ( f (x) → min x∈W (2) Definicja 1. a) Funkcja f (x) ma minimum globalne w punkcie x0 ∈ W jeśli f (x0 ) ¬ f (x) dla każdego x ∈ W . b) Funkcja f (x) posiada minimum lokalne w punkcie x0 ∈ W jeśli istnieje ε > 0 takie, że f (x0 ) ¬ f (x) dla każdego x ∈ W ∩ B(x0 , ε). Minimum nazywamy ścisłym jeśli f (x0 ) < f (x) dla każdego x 6= x0 . W NZO celem jest wyznaczenie minimum globalnego, lecz metody obliczeniowe na ogół prowadzą do rozwiązania, które jest tylko minimum lokalnym. Pozostaje problem wyjaśnienia, czy znalezione minimum jest także rozwiązaniem globalnym, a jeśli nie, to jak przejść do minimum globalnego. Następujące twierdzenie pokazuje, że kluczowym założeniem jest założenie wypukłości funkcji celu. Twierdzenie 2. Niech W ⊂ Rn będzie zbiorem wypukłym, f : W → R funkcją wypukłą. Jeżeli x0 jest rozwiązaniem lokalnym problemu (1), to 1. x0 jest rozwiązaniem globalnym; 2. zbiór rozwiązań globalnych jest wypukły; 3. jeśli f jest ściśle wypukła, to x0 jest ścisłym rozwiązaniem lokalnym; 5 4. jeśli x0 jest ścisłym rozwiązaniem lokalnym, to x0 jest jedynym rozwiązaniem globalnym. D o w ó d. Aby wykazać 1 przypuśćmy, że x0 nie jest rozwiązaniem globalnym, tzn. istnieje x∗ ∈ W takie, że f (x∗ ) < f (x0 ). Jako że x0 jest rozwiązaniem lokalnym, więc f (x0 ) ¬ f (x) dla każdego x ∈ W ∩B(x0 , ε) dla pewnego ε > 0. Odcinek [x0 , x∗ ] jest zawarty w W oraz [x0 , x∗ ] ∩ B(x0 , ε) 6= ∅, tzn. istnieje λ ∈ (0, 1) takie, że λx0 + (1 − λ)x∗ ∈ B(x0 , ε). Ale wtedy f (λx0 + (1 − λ)x∗ ) ¬ λf (x0 ) + (1 − λ)f (x∗ ) < f (x0 ). Sprzeczność, bo x0 jest minimum lokalnym. Łatwiejsze dowody pozostałych tez twierdzenia pomijamy. Jeżeli funkcja f jest różniczkowalna, to mamy dość proste kryterium. Twierdzenie 3. Niech W ⊂ Rn będzie zbiorem wypukłym, f : W → R funkcją wypukłą. Jeżeli f jest różniczkowalna w punkcie x0 ∈ W , to x0 jest rozwiązaniem problemu (1) wtedy i tylko wtedy, gdy Df (x0 )(x − x0 ) 0 dla x ∈ W . D o w ó d. (⇐). Załóżmy, że Df (x0 )(x − x0 ) 0 dla x ∈ W . Na mocy własności funkcji wypukłej (wniosek z twierdzenia o hiperpłaszczyźnie podpierającej) mamy: f (x) f (x0 ) + Df (x0 )(x − x0 ) f (x0 ). Ponieważ x ∈ W jest dowolne, więc otrzymujemy tezę. (⇒). Jeżeli x0 jest rozwiązaniem problemu (1) i x ∈ W jest ustalonym elementem, to dla λ ∈ [0, 1] wektor x0 + λ(x − x0 ) = (1 − λ)x0 + λx ∈ W , bo W jest wypukły. Zatem f (x0 + λ(x − x0 )) f (x0 ), więc f (x0 + λ(x − x0 )) − f (x0 ) 0 λ→0 λ Df (x0 )(x − x0 ) = lim Do dowodu drugiej części twierdzenia nie było potrzebne założenie wypukłości funkcji f . Zatem mamy wniosek. Wniosek 1. Jeżeli x0 ∈ W , gdzie W ⊂ Rn jest zbiorem wypukłym, jest rozwiązaniem lokalnym problemu (1) dla funkcji f : W → R różniczkowalnej w punkcie x0 ∈ W , to Df (x0 )(x − x0 ) 0 dla x ∈ W . 5. Stożek kierunków stycznych Dla zbioru W ⊂ Rn , niekoniecznie wypukłego, rozważmy NZO postaci (1) ( f (x) → min x∈W gdzie f : W → R. Jeśli mamy rozwiązanie lokalne na W , to kierunki spadku wartości funkcji f nie mogą należeć do zbioru kierunków, w których możemy się poruszać nie opuszczając W . Te kierunki wyznaczają pewien stożek, zdefiniowany niżej. 1 1 Jest to uogólnienie znanej definicji dla zbiorów wypukłych. Wtedy dla zbioru wypukłego K definiowaliśmy stożek kierunków osiągalnych (dopuszczalnych) w punkcie a jako FK (a) = cone(K −a). 6 Definicja 2. Stożkiem kierunków stycznych T (x0 ) do zbioru W w punkcie x0 ∈ W nazywamy zbiór wektorów d ∈ Rn takich, że d = lim λk (xk − x0 ) k→∞ dla pewnych λk > 0, xk ∈ W oraz xk → x0 . Równoważnie xk − x0 k→∞ kxk − x0 k T (x0 ) = d ∈ Rn : d = λ lim dla pewnych λ 0, (xk ) ⊂ W , xk → x0 , xk 6= x0 . Łatwo sprawdzić, że jeśli d ∈ T (x0 ), to także λd ∈ T (x0 ) dla każdego λ 0, a więc zbiór T (x0 ) jest rzeczywiście stożkiem. Dla punktów wewnętrznych zbioru W jest T (x0 ) = Rn . Własności gradientu uzasadniają następującą definicję. Definicja 3. Załóżmy, że funkcja wypukła f : W → Rn jest różniczkowalna w punkcie x0 ∈ W . Zbiorem kierunków spadku funkcji f w punkcie x0 nazywamy zbiór D(x0 ) = {d ∈ Rn : Df (x0 )d < 0} Twierdzenie 4. Niech x0 będzie rozwiązaniem lokalnym problemu (1). Jeśli f jest różniczkowalna w punkcie x0 ∈ W , to D(x0 ) ∩ T (x0 ) = ∅. Przykład. Rozważmy problem ( 2x21 + x22 → min 3x1 + x2 6 " Zatem f (x1 , x2 ) = 2x21 + x22 , Df (x1 , x2 ) = # 4x1 , 2x2 W = {x ∈ R2 : 3x1 + x2 6}. Rozważymy trzy wybrane punkty. " przykładowo # " # 2 8 2 1) Punkt x = leży wewnątrz W , więc T (x) = R . Gradient Df (2, 2) = , 2 4 więc D(x) = {d : 2d1 + d2 < 0}. Zatem T (x) ∩ D(x) 6= ∅. Punkt x nie może być rozwiązaniem. 7 " 2) Punkt x = " 1 3 # leży na brzegu W . T (x) = {d : 3d1 + d2 0}. Gradient Df (1, 3) = # 4 , więc D(x) = {d : 2d1 + 3d2 < 0}. Zatem i teraz T (x) ∩ D(x) 6= ∅. Punkt x nie 6 może być rozwiązaniem. " # 3) Punkt x = 18 11 12 11 leży na brzegu W , więc T (x) = {d : 3d1 + d2 0} jest taki jak " 72 11 24 11 " # # 3 , więc D(x) = {d : 3d1 + d2 < 0}. poprzednio. Gradient = = 1 Tym razem T (x) ∩ D(x) = ∅. W punkcie x może być minimum. 18 12 Df ( 11 , 11 ) 24 11 6. Zagadnienie z ograniczeniami nierównościowymi Rozważmy problem f (x) → min gi (x) ¬ 0, i = 1, 2, . . . , m, x∈W (3) gdzie W ⊂ Rn jest zbiorem otwartym, oraz f, g1 , g2 , . . . , gm : X → Rn . Funkcje gi nazywamy ograniczeniami nierównościowymi. Będziemy zakładać, że są one ciągłe. Dla ustalonego x ∈ W , jeśli gi (x) < 0, to istnieje otoczenie na którym także gi < 0. Zatem kierunki zmian wokół x ograniczają tylko te funkcje gi , dla których gi (x) = 0. Definicja 4. Zbiorem ograniczeń aktywnych w punkcie x ∈ W nazywamy zbiór I(x) = {i : gi (x) = 0}. Pojęcie zbioru ograniczeń aktywnych jest fundamentalne, gdyż pozwala nam sprowadzić ograniczenia nierównościowe do równościowych. Zatem teorię można w zasadzie rozwijać dla problemu z ograniczeniami równościowymi, uzupełniając ją potem o rozważania pozwalające na określenie, które ograniczenia są aktywne. Ze zbiorem ograniczeń aktywnych związany jest pewien stożek. Definicja 5. Niech x ∈ W , niech i ∈ I(x), i załóżmy, że gi jest różniczkowalne w punkcie x. Stożkiem kierunków stycznych dla ograniczeń aktywnych nazywamy zbiór Takt (x) = {d ∈ Rn : ∀i ∈ I(x) Dgi (x)d ¬ 0}. Ponieważ nierówność Dgi (x)d ¬ 0 określa półprzestrzeń w Rn , więc stożek Takt (x) jest zbiorem wielościennym, a zatem wypukłym i domkniętym. Lemat 1. T (x) ⊂ Takt (x) dla x ∈ W . D o w ó d. Jeżeli d ∈ T (x), to d = limk→∞ λk (xk − x) dla pewnego ciągu (xk ) ⊂ W , xk → x, i ciągu (λk ) liczb dodatnich. Z definicji pochodnej mamy gi (xk ) = gi (x) + Dgi (x)(xk − x) + o(kxk − xk), 8 ale jeśli i ∈ I(x), to gi (x) = 0 oraz gi (xk ) ¬ 0, więc Dgi (x)(xk − x) + o(kxk − xk) ¬ 0. Stąd dla λk > 0: Dgi (x) λk (xk − x) + λk kxk − xk o(kxk − xk) ¬ 0. kxk − xk k −xk) → 0, więc po przejściu do granicy mamy Dgi (x)d ¬ Ponieważ λk (xk − x) → d, o(kx kxk −xk 0, czyli d ∈ Takt (x). Przykład. Pokażemy, że stożki T (x) i Takt (x) mogą być naprawdę różne. Niech W = {x : x21 + x22 ¬ 1, x32 0} ⊂ R2 będzie określony funkcjami g1 (x1 , x2 ) = x21 + x22 − 1, g2 (x1 , x2 ) = −x32 . " 2 Weźmy x = (0, 1). Wtedy T (x) = {d ∈ R : d2 ¬ 0}. Ponieważ Dg1 (0, 1) = " Dg2 (0, 1) = 0 −3 # 0 , 2 # oraz ograniczeniem aktywnym jest tylko g1 , więc w tym przypadku Takt (0, 1) = {d ∈ R2 : 2d2 ¬ 0} = T (0, 1). " Ale dla x = (1, 0) jest inaczej. T (x) = {d ∈ R2 : d1 ¬ 0, d2 0}, Dg1 (1, 0) = " Dg2 (1, 0) = # 2 , 0 # 0 , ograniczeniami aktywnymi są g1 i g2 , więc teraz 0 Takt (1, 0) = {d ∈ R2 : 2d1 ¬ 0} ⊃ T (1, 0). Ważne są te punkty, w których mamy równość stożków: T (x) = Takt (x). Przed sformułowaniem głównego twierdzenia wykażemy lemat. Lemat 2. (Farkasa) Niech A będzie macierzą m × n oraz d ∈ Rn . Wówczas dokładnie jeden z układów ma rozwiązanie: Ax ¬ 0 dT x > 0 (1) x ∈ Rn AT y = d y0 (2) y ∈ Rm D o w ó d. Załóżmy, że układ (2) ma rozwiązanie y, tj. d = AT y. Wtedy układ (1) ma postać ( Ax ¬ 0 yT Ax 0 9 i jest sprzeczny, bo wektor Ax ma współrzędne niedodatnie, a y nieujemne. Załóżmy teraz, że układ (2) nie ma rozwiązania. Rozważmy zbiór V = {x ∈ Rn : x = AT y dla pewnego y 0}. Zbiór V jest wypukły i domknięty i z założenia d 6∈ V . Z twierdzenia Eidelheita istnieje hiperpłaszczyzna oddzielająca d od zbioru V , tzn. istnieje wektor a ∈ Rn taki, że sup aT x < aT d. x∈V Wykażemy, że wektor a spełnia układ (1). Ponieważ 0 ∈ V , więc sup aT x 0. Stąd x∈V dT a = (aT d)T > 0. Należy jeszcze wykazać, że Aa ¬ 0. Przypuśćmy, że jest przeciwnie, i że Aa ma np. i-tą współrzędną dodatnią. Dla y 0: iT h yT Aa = aT (AT y) = aT (AT y) ¬ sup aT x x∈V Weźmy ciąg yn = [0, . . . , 0, n, 0 . . . , 0]T , gdzie i-ta współrzędna jest równa n. Wtedy lim yT Aa = n→∞ lim n(Aa)i = ∞, n→∞ bo założyliśmy, że (Aa)i > 0. Otrzymaliśmy sprzeczność, bo yT Aa ¬ sup aT x. x∈V Zatem Aa ¬ 0. Interpretacja geometryczna. Ponieważ y 0, więc zbiór {AT y} jest stożkiem wyznaczonym przez wiersze macierzy A i warunek AT y = d oznacza, że wektor d należy do tego stożka. Natomiast nierówności (1) oznaczają, że istnieje wektor x, który z wierszami macierzy A tworzy kąty nieostre, a z wektorem d kąt ostry. Taki wektor x określa hiperpłaszczyznę oddzielającą wektor d od stożka. Podsumowując, lemat stwierdza, że dla danego stożka i danego wektora: albo wektor należy do stożka, albo można go oddzielić od stożka hiperpłaszczyzną. Ilustracja na przykładzie. Weźmy m = 3, n = 2 oraz 1 2 A = −1 1 , 2 5 " d= 2 3 # . Wtedy (1) 1 2 x1 −1 1 x 2" 5 # 2 x1 [2 3] >0 x2 " # ¬0 (2) " 1 −1 2 2 1 5 # " # y1 2 y2 = 3 y3 y1 y2 0 y3 W tym przypadku układ (2) nie ma rozwiązania, co można łatwo zobaczyć rysując stożek, lub rachunkiem (trudniej). Można też wyliczyć, że układ (1) ma rozwiązanie x1 > 0, − 32 x1 < x2 ¬ − 12 x1 (np. x1 = 2, x2 = −1). 10 Twierdzenie 5. (Karusha-Kuhna-Tuckera) Niech x0 będzie rozwiązaniem lokalnym zagadnienia z ograniczeniami nierównościowymi (3). Jeżeli funkcje f oraz gi , i ∈ I(x0 ) są różniczkowalne w x0 oraz T (x0 ) = Takt (x0 ), to istnieją liczby µi 0, i = 1, . . . , m takie że Df (x0 ) + µi gi (x0 ) = 0, µi Dgi (x0 ) = 0T P i∈I(x0 ) (4) i = 1, . . . , m D o w ó d. Z twierdzenia 4 mamy D(x0 )∩T (x0 ) = ∅, czyli (z założenia) D(x0 )∩Takt (x0 ) = ∅, więc układ ( Df (x0 )x < 0 Dgi (x0 )x ¬ 0, i ∈ I(x0 ) (5) nie ma rozwiązania. Zastosujemy lemat Farkasa do macierzy A zbudowanej wierszowo z gradientów ograniczeń aktywnych i wektora d = −Df (x0 )T . Skoro układ (5) nie ma rozwiązania, tj. układ (1) z lematu Farkasa nie ma rozwiązania, to istnieje y 0 takie, że yT A = −Df (x0 ) czyli Df (x0 ) + yT A = 0T . Określimy liczby µi następująco: (µi )i∈I(x0 ) = y, (µi )i6∈I(x0 ) = 0. Wtedy powyższą równość można zapisać X Df (x0 ) + µi Dgi (x0 ) = 0T i∈I(x0 ) Oczywiście µi gi (x0 ) = 0, bo albo µi , albo gi (x0 ) jest równe 0. Liczby µi nazywamy mnożnikami Lagrange’a. Natomiast warunki (4) nazywane są warunkami koniecznymi pierwszego rzędu. Wniosek 2. Dla zagadnienia f (x) → min gi (x) ¬ 0, i = 1, 2, . . . , m, x0 (6) warunki konieczne pierwszego rzędu (KKT) można zapisać w postaci: P Df (x) + µi Dgi (x) i∈I(x) P Df (x) + 0T µi Dgi (x) x = 0 (7) i∈I(x) µi gi (x) = 0, i = 1, . . . , m D o w ó d. Jest to szczególny przypadek zagadnienia (3), w którym W = {x : x 0}. Więzy są postaci gi (x) ¬ 0, i = 1, 2, . . . , m, hj (x) = −xj ¬ 0 j = 1, 2, . . . , n. 11 Wobec tego istnieją mnożniki Lagrange’a µi 0, λj 0 takie, że X Df (x) + µi Dgi (x) + n X λj Dhj (x) = 0T (8) j=1 i∈I(x) Niech m = (λ1 , λ2 , . . . , λn )T . Wtedy n P λj Dhj (x) = −(λ1 , λ2 , . . . , λn ) = −mT , więc j=1 Df (x) + X µi Dgi (x) = m, (9) i∈I(x) a ponieważ m 0, więc Df (x) + µi Dgi (x) 0T . X i∈I(x) Natomiast drugi z warunków (4) ma teraz postać µi gi (x) = 0, i = 1, . . . , m, λj hj (x) = 0, j = 1, . . . , n. Drugą grupę tych równości można zapisać krótko jako mT x = 0. Wtedy po uwzględnieniu równości (9) otrzymujemy Df (x) + X µi Dgi (x) x = 0. i∈I(x) 7. Warunki regularności Ponieważ równość T (x) = Takt (x) stożka kierunków stycznych i stożka kierunków stycznych dla ograniczeń aktywnych jest założeniem twierdzenia Karusha-Kuhna-Tuckera, to istotną rzeczą jest rozpoznanie sytuacji, w których te stożki są równe. Warunki dostateczne równości T (x) = Takt (x) nazywamy warunkami regularności. Definicja 6. W punkcie x ∈ W spełniony jest — warunek liniowej niezależności, jeśli funkcje gi , i 6∈ I(x) są ciągłe w x oraz wektory Dgi x, i ∈ I(x), są liniowo niezależne; — warunek afiniczności, jeśli funkcje gi , i ∈ I(x) są afiniczne oraz funkcje gi , i 6∈ I(x), są ciągłe w x; — warunek Slatera, jeśli funkcje gi , i ∈ I(x) są pseudowypukłe oraz funkcje gi , i 6∈ I(x), są ciągłe w x oraz istnieje x ∈ X dla którego gi (x) < 0 dla i ∈ I(x). Każdy z tych warunków implikuje równość T (x) = Takt (x). Przykładowo udowodnimy to dla warunku afiniczności. Twierdzenie 6. Jeśli w punkcie x ∈ W spełniony jest warunek afiniczności, to T (x) = Takt (x). D o w ó d. Ponieważ na mocy lematu 1 jest T (x) ⊂ Takt (x), więc należy wykazać zawieranie przeciwne. Niech d ∈ Takt (x). Wykażemy najpierw, że istnieje λ∗ > 0 takie, że odcinek x + λd, 0 ¬ λ < λ∗ zawiera się w zbiorze W . Jeśli ograniczenie gi jest nieaktywne, to gi (x) < 0, 12 a więc z ciągłości gi wynika, że istnieje λ∗ > 0 takie, że gi (x + λd) ¬ 0 dla i 6∈ I(x), 0 ¬ λ < λ∗ . Natomiast jeśli ograniczenie gi jest aktywne, to rozumujemy tak. Ponieważ gi jest afiniczne, więc jest postaci gi (x) = aTi x + bi dla pewnych ai ∈ Rn , bi ∈ R. Stąd Dgi (x)d = aTi d oraz Dgi (x)d ¬ 0 (ponieważ d ∈ Takt (x)). Zatem gi (x + λd) = aTi (x + λd) + bi = aTi x + bi +λ aTi d ¬ 0. | {z =0 } | {z } ¬0 Mamy wykazać, że d ∈ T (x), a więc należy wskazać ciągi (xk ) ⊂ W i (λk ⊂ (0, ∞) takie, że limk→∞ xk = x oraz limk→∞ λk (xk − x) = d. Weźmy xk = x + λ∗ d, k λk = k . λ∗ Wtedy xk ∈ W , limk→∞ xk = x oraz lim λk (xk − x) = lim λk · k→∞ k→∞ λ∗ d = lim d = d. k→∞ k Przykład. Niech W = {x ∈ R2 : x21 + 2x22 ¬ 1, 2x1 − x2 ¬ 2, x1 + 2x2 ¬ 1}. Zatem g1 (x1 , x2 ) = x21 + 2x22 − 1, g2 (x1 , x2 ) = 2x1 − x2 − 2, g3 (x1 , x2 ) = x1 + 2x2 − 1. Punktem, w którym wszystkie ograniczenia sa aktywne jest (1, 0). Spełniony jest tylko warunek Slatera. 8. Warunki Karusha-Kuhna-Tuckera i analiza ekonomiczna Warunki Karusha-Kuhna-Tuckera mogą być pomocne przy rozwiązywaniu niektórych problemów numerycznych. W ekonomii ich użyteczność polega bardziej na wyprowadzaniu wniosków jakościowych, bez konieczności podawania liczbowych współczynników problemu. Celem jest wskazanie optymalnej strategii. Ustalanie cen. Wiele firm staje przed problemem zmiennego zapotrzebowania na produkt w różnych godzinach dnia. W godzinach szczytu możliwości firmy są w pełni wykorzystane, ale poza szczytem pozostają wolne moce. Przykładem mogą być firmy telekomunikacyjne. Twierdzenie 7. Firma osiągnie maksymalny zysk, jeśli ceny poza godzinami szczytu będą pokrywały tylko krańcowe koszty operacyjne, a w godzinach szczytu będą je przekraczać. Suma nadwyżek cen nad krańcowymi kosztami operacyjnymi we wszystkich godzinach szczytu jest równa krańcowemu kosztowi kapitału. D o w ó d. Niech x1 , x2 , . . . , x24 będzie zapotrzebowaniem w kolejnych godzinach doby, a p1 , p2 ,. . . , p24 odpowiadającymi im cenami. Zakładamy, że xi > 0. Niech y będzie 13 godzinową produktywnością firmy. Funkcja C(x1 , x2 , . . . , x24 ) określa dobowy koszt całkowity, a g(y) dobowy koszt kapitału. Celem firmy jest maksymalizacja zysku π= 24 X pi xi − C(x1 , x2 , . . . , x24 ) − g(y), i=1 przy ograniczeniach xi − y ¬ 0 (i = 1, 2, . . . , 24) xi 0 (i = 1, 2, . . . , 24) y 0. (10) (11) (12) Funkcja π jest funkcją wektora (x1 , x2 , . . . , x24 , y). Pierwsza równość warunków (4) w przypadku maksimum ma postać Dπ(x) − µi Dgi (x) = 0T , X i∈I(x) gdzie gi (y) = xi − y. Zatem po rozpisaniu ∂C ∂π = pi − − µi = 0, ∂xi ∂xi 24 dg X ∂π =− + µi = 0, ∂y d y i=1 µi (xi − y) = 0, µi 0, xi > 0. (13) (14) (15) (16) (17) W dowolnym okresie t poza godzinami szczytu mamy y > xt , a więc musi być µt = 0. Wtedy pierwsza równość oznacza, że pt = ∂C , ∂xt ∂C a więc należy ustalić cenę równą krańcowemu kosztowi operacyjnemu ∂x . t dg Natomiast dla okresu s w szczycie jest xs = y. Ponieważ d y > 0 (zwiększenie produktywności wymaga dodatkowego kapitału), więc dg X = µs > 0. dy s Wtedy także ∂C + µs , dla każdego okresu s w szczycie. ∂xs Cena przewyższa koszt krańcowy o wartość mnożnika Lagrange’a, i co więcej, suma tych nadwyżek jest równa dd yg , czyli krańcowemu kosztowi produktywności. Zapotrzebowanie w okresie szczytu skłania do zwiększenia mocy produkcyjnych, ale to wymaga dodatkowego kapitału, a zatem cena musi pokryć koszt krańcowy. ps = 14