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
y­0
(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,


x­0
(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

Podobne dokumenty