Zagadnienia

10. Teoria dualności

W tym rozdziale omówimy elementy teorii dualności, tzn. innej charakteryzacji optymalności rozwiązania zadania optymalizacyjnego z ograniczeniami nierównościowymi. Teoria ta odróżnia się od poprzednio opisywanego podejścia Kuhna-Tucker'a tym, że nie wymagamy różniczkowalności funkcji celu f i funkcji ograniczeń gi. Ponadto, przy odpowiednich założeniach, rozwiązanie pierwotnego zadania optymalizacyjnego możemy łatwo uzyskać z rozwiązania tzw. zadania do niego dualnego. Niezależnie od zadania pierwotnego, zadanie dualne polega na maksymalizacji wklęsłej funkcji celu po nieujemnym oktancie. Jak zobaczymy w następnych rozdziałach, wklęsłość jest cechą gwarantującą dobrą zbieżność metod numerycznych. Prosty zbiór punktów dopuszczalnych dodatkowo przyspiesza działanie i ułatwia implementację algorytmów numerycznych. Nie należy zapominać także o tym, że zadanie dualne jest czasami łatwiejsze do rozwiązania metodami analitycznymi, czego przykłady zobaczymy w zadaniach na końcu niniejszego rozdziału.

10.1. Warunek dostateczny

Definicja 10.1

Niech A,B będą dowolnymi zbiorami, zaś h:A×BR funkcją. Punkt x¯,μ¯A×B nazywamy punktem siodłowym funkcji h, jeśli

hx¯,μhx¯,μ¯hx,μ¯,xA,μB.
Przykład 10.1
Rys. 10.1. Wykres funkcji x,yx2-y2.

Najprostszym przykładem punktu siodłowego jest ”środek siodła” (patrz rys. 10.1): A,B=R, hx,μ=x2-μ2 ma punkt siodłowy w 0,0. Funkcja h ma minimum w 0,0 ze względu na zmienną x i maksimum ze względu na μ.

Okazuje się, że punkt siodłowy funkcji Lagrange'a jest związany z rozwiązaniem globalnym problemu optymalizacji z ograniczeniami nierównościowymi:

fxmin,gix0,i=1,,m,xX.(10.1)

Przypomnijmy, że przez W oznaczamy zbiór punktów dopuszczalnych, tj.

W=xX:g1x0,,gmx0.
Twierdzenie 10.1

Jeśli x¯,μ¯W×0,m jest punktem siodłowym funkcji Lagrange'a na W×0,m

Lx,μ=fx+i=1mμigix,

tzn.

Lx¯,μLx¯,μ¯Lx,μ¯,xW,μ0,m,

to x¯ jest rozwiązaniem globalnym problemu (10.1) oraz μ¯igix¯=0 dla i=1,,m.

Dowód

Udowodnimy najpierw, że μ¯igix¯=0 dla i=1,,m. Nierówność Lx¯,μLx¯,μ¯ możemy rozwinąć następująco:

fx¯+i=1mμigix¯fx¯+i=1mμ¯igix¯.

Zatem dla każdego μ0,m mamy

i=1mμigix¯i=1mμ¯igix¯.

W szczególności, dla μ=μ¯/2 dostajemy

i=1mμ¯igix¯0.

Wiemy, że x¯ jest punktem dopuszczalnym (x¯W), czyli gix¯0 dla i=1,,m. Pamiętając, że μ¯ ma wszystkie współrzędne nieujemne wnioskujemy, iż i=1mμ¯igix¯=0 oraz każdy wyraz jest niedodatni. Stąd już wynika, że μ¯igix¯=0 dla i=1,,m.

Skorzystamy teraz z drugiej nierówności Lx¯,μ¯Lx,μ¯ dla xW, aby wykazać globalną optymalność x¯. Nierówność tą rozpisujemy następująco:

fx¯+i=1mμ¯igix¯fx+i=1mμ¯igix,xW.

Z pierwszej części dowodu mamy i=1mμ¯igix¯=0. Z faktu, że xW dostajemy i=1mμ¯igix0. Czyli

fx¯fx,xW.
Uwaga 10.1

  1. W powyższym twierdzeniu nie zakładamy otwartości X ani ciągłości funkcji f i gi.

  2. Zbiór punktów dopuszczalnych W nie musi być wypukły.

  3. Nie ma żadnych warunków regularności.

  4. Tw. 10.1 nie podaje sposobu szukania punktu siodłowego. Można go znaleźć np. przy pomocy warunków koniecznych pierwszego rzędu, a twierdzenie 10.1 używać jako warunek dostateczny.

  5. Tw. 10.1 pełni ważną rolę teoretyczną (podejście dualne) i służy do budowy algorytmów numerycznych rozwiązujących zadanie (10.1).

10.2. Warunek konieczny dla programowania wypukłego

W tym podrozdziale zakładamy, że w problemie (10.1) zbiór XRn jest wypukły oraz funkcje f,gi:XR, i=1,,m, są wypukłe. Dla takiego zadania optymalizacyjnego warunek punktu siodłowego funkcji Lagrange'a jest warunkiem koniecznym dla rozwiązania globalnego. Zaczniemy od prostszego przypadku, gdy wszystkie funkcje są różniczkowalne, by przejść później do twierdzenia nie wymagającego różniczkowalności. Jak wspomnieliśmy wcześniej, brak wymagania różniczkowalności odróżnia metodę punktu siodłowego od opisanej wcześniej metody Kuhn'a-Tucker'a.

Lemat 10.1

Załóżmy, że zbiór X w problemie programowania wypukłego jest otwarty oraz funkcje f i gi, i=1,,m, są różniczkowalne w punkcie x¯. Jeśli x¯ jest rozwiązaniem lokalnym (10.1) i spełniony jest jeden z warunków regularności: liniowej niezależności, afiniczności lub Slatera, to istnieje μ¯0,m, taki że x¯,μ¯ jest punktem siodłowym funkcji Lagrange'a na przestrzeni X×0,m.

Dowód

Na mocy twierdzenia 5.2 istnieje wektor mnożników Langrange'a μ¯0,m, dla których spełniony jest warunek optymalności pierwszego rzędu (spełnienie założeń tego twierdzenia wynika z regularności punktu x¯ oraz rozważań rozdziału 6). Teza wynika teraz z ćwiczenia 10.1.

Uwaga 10.2

Na mocy twierdzenia 7.6 każdy punkt spełniający warunki pierwszego rzędu jest rozwiązaniem globalnym zadania programowania wypukłego. Nie jest zatem ważne, czy wymagać będziemy w powyższym lemacie, aby x¯ był rozwiązaniem lokalnym czy globalnym.

Przechodzimy teraz do głównego twierdzenia.

Twierdzenie 10.2

Niech x¯X będzie rozwiązaniem globalnym problemu programowania wypukłego (10.1) oraz istnieje x*X, taki że gix*<0 dla i=1,,m. Wówczas istnieje μ¯0,m o tej własności, że x¯,μ¯ jest punktem siodłowym funkcji Lagrange'a na przestrzeni X×0,m, tzn.

Lx¯,μLx¯,μ¯Lx,μ¯,xX,μ0,m.

Ponadto, μ¯igix¯=0 dla i=1,,m.

Uwaga 10.3

Punkt siodłowy funkcji Langrange'a jest rozpatrywany na różnych przestrzeniach w tw. 10.1 i 10.2. W drugim ze wspomnianych twierdzeń przestrzeń jest większa, gdyż pierwsza zmienna przebiega cały zbiór X, a nie tylko zbiór punktów dopuszczalnych W. W sumie, dostajemy równoważność istnienia punktu siodłowego funkcji Lagrange'a i rozwiązania globalnego zadania optymalizacji wypukłej.

Dowód tw. 10.2

Podobnie jak w dowodzie warunku koniecznego pierwszego rzędu, tw. 5.2, główną rolę będzie tutaj odgrywać twierdzenie o oddzielaniu zbiorów wypukłych. Wskaże nam ono wektor mnożników Lagrange'a μ¯.

Oznaczmy gx=g1x,,gmx. Zdefiniujmy następujące podzbiory Rm+1:

A=y¯=y0,yR×Rm:y0fx,ygx dla pewnego xX,
B=y¯=y0,yR×Rm:y0=fx,y=gx dla pewnego xX,
C=y¯=y0,yR×Rm:y0<fx¯,y<0.

Zauważmy, że ostatni ze zbiorów jest ”oszukany”: jest on produktem półprostej kończącej się w minimum fx¯ i ujemnego oktantu. Łatwo widzimy, że jest on wypukły. Z optymalności x¯ dostajemy, że BC=. Zbiór B nie jest jednak wypukły, więc nie możemy stosować twierdzeń o oddzielaniu. Radą na to jest spostrzeżenie, że zamiast B można brać zbiór wypukły A, który ma również puste przecięcie z C. Przypuśćmy przeciwnie: niech y¯=y0,yAC. Mamy zatem dla pewnego xX następujące nierówności:

y0fx,ygx,y0<fx¯,y<0.

Wnioskujemy z nich, że fx<fx¯ oraz gx<0. A zatem punkt x jest dopuszczalny, zaś funkcja f przyjmuje w nim wartość mniejszą od fx¯. Przeczy to optymalności x¯.

Przykład 10.2

Przed przystąpieniem do dalszej części dowodu popatrzmy na zbiory A,B,C dla następującego problemu optymalizacyjnego:

-xmin,x2-10,xX=R.

Rozwiązaniem tego zagadnienia jest x¯=1. Mamy jedno ograniczenie, więc szukane zbiory leżą w przestrzeni R2. Na rysunku 10.2 znajduje się ich szkic. Zwróćmy uwagę na zależność między zbiorami A i B. Zbiór B jest brzegiem A dla y00, lecz znajduje się w jego wnętrzu dla y0>0.

Rys. 10.2. Szkic zbiorów A,B,C zdefiniowanych w dowodzie twierdzenia 10.2.

Powróćmy do dowodu. Wypukłość zbioru C już została uzasadniona. Wypukłość A dowodzimy bezpośrednio. Weźmy dwa punkty y¯,y¯′′A oraz λ0,1. Istnieją wówczas punkty x,x′′X o następującej własności:

y0fx,ygx,
y0′′fx′′,y′′gx′′.

Zdefiniujmy x=λx+1-λx′′. Z wypukłości X wynika, że xX. Mamy również

λy0+1-λy0′′λfx+1-λfx′′fλx+1-λx′′=fx,

gdzie pierwsza nierówność wynika z powyższych własności x i x′′, zaś druga nierówność z wypukłości f. Podobnie, korzystając z wypukłości g, pokazujemy, że

λy+1-λy′′gx.

Stąd y¯=λy¯+1-λy¯′′A, ponieważ

y0fx,ygx

dla zdefiniowanego powyżej punktu x. Kończy to dowód wypukłości zbioru A.

Na mocy słabego twierdzenia o oddzielaniu, tw. 3.1, istnieje μ~Rm+1, μ~0 i takie że

μ~Ty¯μ~Tz¯,y¯A,z¯C.

Z faktu, że supz¯Cμ~Tz¯< wynika, że μ~0. Z ciągłości funkcji liniowej wnioskujemy, że z¯ można brać z domknięcia C:

μ~Ty¯μ~Tz¯,y¯A,z¯clC.

Zatem dla z¯=fx¯,0T mamy

μ~0y0+i=1mμ~iyiμ~0fx¯,y0,yA.

W szczególności powyższa nierówność zachodzi dla y0=fx i y=gx dla xX:

μ~0fx+i=1mμ~igixμ~0fx¯.(10.2)

Wykażemy teraz, że μ~00, co razem z obserwacją μ~0 będzie implikować μ~0>0. Dowód przeprowadzimy przez zaprzeczenie: załóżmy μ~0=0. Wówczas z nierówności (10.2) wynika, że

i=1mμ~igix0,xX.

W szczególności zachodzi to dla punktu x* z założenia twierdzenia. W tym punkcie mamy jednak gix*<0 dla każdego i=1,,m. To, w połączeniu z faktem, iż μ~0 pociąga μ~1,,μ~m=0. Przypomnijmy, że μ~0=0, czyli μ~=0, a to przeczy wyborowi μ~ z twierdzenia o oddzielaniu.

Wiemy zatem, że μ~0>0. Zdefiniujmy

μ¯=μ~1μ~0,,μ~mμ~0T.

Oczywiście μ¯0,m. Ponieważ x¯, jako rozwiązanie, jest punktem dopuszczalnym, to gix¯0, i=1,,m, i i=1mμ¯igix¯0. Dodajemy tą sumę do prawej strony nierówności (10.2) podzielonej przez μ~0:

fx+i=1mμ¯igixfx¯+i=1mμ¯igix¯,xX.

Inaczej,

Lx,μ¯Lx¯,μ¯,xX.

Pozostaje jeszcze wykazanie drugiej nierówności punktu siodłowego. Biorąc x=x¯ i dzieląc obie strony nierówności (10.2) przez μ~0 dostajemy i=1mμ¯igix¯0. Z drugiej strony punkt x¯ jest dopuszczalny, czyli gix¯0. Pamiętając, że μ¯0 wnioskujemy, że każdy składnik tej sumy jest niedodatni. Stąd już mamy

μ¯igix¯=0,i=1,,m.

Dla dowolnego innego μ0,m mamy i=1mμigix¯0, czyli

i=1mμigi(x¯)i=1mμ¯igi(x¯),μ[0,m.

Ta nierówność jest równoważna

Lx¯,μLx¯,μ¯,μ0,m.

10.3. Zadanie pierwotne i dualne

Z teorią puntów siodłowych związane są pojęcia zadania pierwotnego i dualnego. Rozważmy zadanie optymalizacyjne (10.1) i związaną z nim funkcję Lagrange'a Lx,μ. Zdefiniujmy funkcję LP:X-,

LPx=supμ0,mLx,μ.

Zauważmy, że

LPx=fx,gx0,,w przeciwnym przypadku.

A zatem zadanie (10.1) można zapisać w wydawałoby się prostszej postaci

LPxmin,xX.

Niestety powyższe przeformułowanie sprowadza się do rozwiązania oryginalnego zadania, a więc nie zawiera żadnej ,,wartości dodanej”; ale tylko do czasu. Zanim zdradzimy jego zastosowanie, zdefiniujmy kolejną funkcję LD:0,m-,

LDμ=infxXLx,μ.
Uwaga 10.4
  1. Dla dowolnego xX i μ0,m mamy LPxLx,μLDμ.

  2. Jeśli x¯,μ¯ jest punktem siodłowym funkcji Lagrange'a na X×0,m, to LPx¯=LDμ¯.

Powyższe spostrzeżenia kierują nas we właściwą stronę. Będziemy wykorzystywać funkcje LP i LD do znajdowania punktów siodłowych.

Definicja 10.2

Zadaniem pierwotnym nazywamy problem optymalizacyjny

LPxmin,xX.

Zadaniem dualnym do niego jest problem optymalizacyjny

LDμmax,μ0,m.

Z własności wspomnianych w uwadze 10.4 wynika, że wartość rozwiązania zadania pierwotnego jest nie mniejsza niż wartość rozwiązania zadania dualnego:

infxXLPxsupμ0,mLDμ.

Co więcej, rozwiązanie zadania dualnego daje dolne oszacowanie na wartość funkcji f:

Lemat 10.2 (Słabe twierdzenie o dualności)

Dla dowolnego punktu dopuszczalnego xW oraz dowolnego μ0,m mamy

fxLDμ.

A zatem

fxsupμ0,mLDμ.
Dowód

Dowód pozostawiamy jako ćwiczenie.

Definicja 10.3

Luką dualności nazwiemy różnicę między wartością rozwiązania zadania pierwotnego i dualnego:

infxXLPx-supμ0,mLDμ.

Zapiszmy w języku funkcji pierwotnej i dualnej warunek punktu siodłowego: x¯,μ¯ jest punktem siodłowym, jeśli

LPx¯=Lx¯,μ¯=LDμ¯.

Innymi słowy, jeśli funkcja Lagrange'a posiada punkt siodłowy, to luka dualności jest zerowa. Ma to miejsce, na przykład, jeśli spełnione są założenia tw. 10.2.

Możemy teraz zaproponować algorytm rozwiązywania zagadnienia (10.1) przy pomocy metod dualnych.

  1. Rozwiąż zadanie dualne. Jego wartość daje dolne ograniczenie na wartość rozwiązania problemu pierwotnego na mocy lematu 10.2.

  2. Załóżmy, że istnieje rozwiązanie skończone μ¯0, zadania dualnego oraz taki punkt x¯X, że LDμ¯=Lx¯,μ¯. Jeśli x¯ jest dopuszczalny oraz fx¯=LDμ¯, to x¯,μ¯ jest punktem siodłowym funkcji Lagrange'a i twierdzenie 10.1 implikuje, że x¯ jest rozwiązaniem zadania (10.1).

Wyjaśnijmy warunki punktu drugiego. Z faktu LDμ¯=Lx¯,μ¯ wynika, że Lx¯,μ¯Lx,μ¯ dla dowolnego xX. Zatem mamy prawą nierówność warunku punktu siodłowego. Pozostaje jeszcze nierówność lewa. Przypomnijmy, że LPx=fx dla punktu dopuszczalnego x i infxXLPxLDμ dla dowolnego μ0,m. W punkcie drugim zakładamy, że fx¯=LDμ¯, co pociąga

LPx¯=fx¯=LDμ¯,

a zatem x¯,μ¯ jest punktem siodłowym.

10.4. Zadania

Ćwiczenie 10.1

Udowodnij, że jeśli w problemie optymalizacyjnym (10.1) funkcje f i gi, i=1,,m, są wypukłe, to punkt spełniający warunek konieczny pierwszego rzędu jest punktem siodłowym funkcji Lagrange'a na przestrzeni X×0,m.

Ćwiczenie 10.2

Uzasadnij, że LPxLx,μLDμ dla dowolnego xX i μ0,m.

Ćwiczenie 10.3

Uzasadnij nierówność:

infxXLPxsupμ0,mLDμ.
Ćwiczenie 10.4

Udowodnij, że jeśli x¯,μ¯ jest punktem siodłowym funkcji Lagrange'a, to LPx¯=LDμ¯ lub, innymi słowy, luka dualności jest zerowa.

Ćwiczenie 10.5

Udowodnij lemat 10.2.

Ćwiczenie 10.6

Wykaż, że funkcja dualna LD jest wklęsła.

Ćwiczenie 10.7

Podaj przykład problemu optymalizacyjnego, dla którego luka dualności jest dodatnia.

Ćwiczenie 10.8

Rozwiąż metodą dualną zadanie

x1min,x12+x222,x1,x2X,

gdzie X=xR2:x11. Zwróć uwagę na umieszczenie jednego z ograniczeń w zbiorze X.

Ćwiczenie 10.9

Rozwiąż metodą dualną zadanie

12i=1nxi2min,i=1nxi=1,0xiui,i=1,,n,xRn,

gdzie 0u1un oraz i=1nui1.

Wskazówka: 

Rozważ zbiór X=xRn: 0xiui dla i=1,,n.

Ćwiczenie 10.10

Znajdź zadanie dualne (czyli formę zadania supμ0,mLDμ) dla zadania optymalizacji liniowej

dTxmin,Axb,xRn,

gdzie dRn, A jest macierzą m×n i bRm.

Ćwiczenie 10.11

Znajdź zadanie dualne do zadania programowania kwadratowego

12xTHx+dTxmin,Axb,xRn,

gdzie H jest macierzą symetryczną dodatnio określoną, dRn, A jest macierzą m×n i bRm.

Definicja 10.4

Niech XRn. Transformatą Legendre'a-Fenchela funkcji f:XR nazywamy funkcję f*:RnR+ daną wzorem

f*y=supxXyTx-fx.
Ćwiczenie 10.12

Rozważmy problem optymalizacyjny:

fxmin,Axb,Cx=d,xX,

gdzie XRn, bRm, dRl, zaś A,C są dowolnymi macierzami o odpowiednich wymiarach. Udowodnij, że problem do niego dualny ma następującą postać:

-bTμ-dTλ-f*-ATμ-CTλmax,μ0,m,λRl.
Wskazówka: 

Rozbij ograniczenie równościowe na dwa ograniczenia nierównościowe.

Ćwiczenie 10.13

Znajdź transformatę Legendre'a-Fenchela następujących funkcji:

fx=12x2,xX=R,
fx=12i=1nxi2,xX=Rn,
fx=ex,xX=R,
fx=xp,xX=Rn,p>1,
fx=12xTHx,xX=Rn,H - macierz symetryczna, nieosobliwa.
Ćwiczenie 10.14

Udowodnij, że transformata Legendre'a-Fenchela f* jest wypukła dla dowolnej funkcji f.

Ćwiczenie 10.15

Wykaż równoważność następujących dwóch zadań optymalizacyjnych:

logi=1meaiTx+bimin

oraz

logi=1meyimin,Ax+b=y,xRn,yRm,(10.3)

gdzie przez a1,,am oznaczamy rzędy macierzy A. Udowodnij następnie, że zadaniem dualnym do (10.3) jest

bTν-i=1mνilogνimax,i=1mνi=1,ATν=0,ν0,m.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.