1. Wprowadzenie do matematyki teorii optymalizacji

1.1. Podstawowe pojęcia i definicje

Zaczniemy od przypomnienia pojęć rachunku różniczkowego.

Jeżeli funkcja \(f:\mathbb{R}^n→\mathbb{R}\) ma pochodne cząstkowe po współrzędnych dla każdego x, to wektor wierszowy \(\bigtriangledown =\frac{\partial f(x)}{\partial x^T}=\left [\frac{\partial f(x)}{\partial x_1},...,\frac{\partial f(x)}{\partial x_n}  \right ]\) nazywamy gradientem (funkcji f  ) w punkcie x.
Jeżeli każda z q składowych funkcji wektorowej  \(F:\mathbb{R}^n→\mathbb{R}^q\) ma pochodne cząstkowe po współrzędnych dla każdego  x, to następującą macierz
\( \frac{\partial F(x)}{\partial x^T}=\begin{bmatrix} \frac{\partial F_1(x)}{\partial x_1} & \cdots &\frac{\partial F_1(x)}{\partial x_n} \\ \vdots & \cdots & \vdots \\ \frac{\partial F_q(x)}{\partial x_1} & \cdots & \frac{\partial F_q(x)}{\partial x_n} \end{bmatrix}= \begin{bmatrix} \bigtriangledown F_1(x) \\\vdots \\ \bigtriangledown F_q(x) \end{bmatrix} \)
nazywamy pochodną (macierzą Jacobiego) funkcji F w punkcie x. Wyznacznik macierzy Jacobiego \(\mathrm{det}⁡(  \frac{\partial f(x)}{\partial x^T})\) nazywa się jakobianem.

Jeżeli funkcja \(f:\mathbb{R}^n→\mathbb{R}\)  ma pochodne cząstkowe drugiego rzędu po współrzędnych dla każdego  x , to symetryczną macierz
\( H(x)=\bigtriangledown ^2 f(x)=\left [ \frac{\partial^2 }{\partial x_i \partial x_j} f(x)  \right ]\)
nazywamy macierzą Hessego (z niewiadomych przyczyn, wielu autorów zajmujących się optymalizacją nazywa tę macierz hesjanem, chociaż nazwy tego typu są stosowane do wyznaczników!).

Zwracamy uwagę na różnicę między różniczkowalnością funkcji wielu zmiennych w danym punkcie, a istnieniem jej gradientu w tym punkcie.

LEMAT 3.1 
Funkcja f  jest różniczkowalna w punkcie \(x.  \Rightarrow \)  Istnieje \(∇f(x)\)
Funkcja f  jest różniczkowalna w punkcie \(x.\Leftarrow\)  W otoczeniu punktu x istnieje 
                   gradient  \(∇f(x)\), ciągły w x.

Określimy teraz ważne dla teorii i algorytmów optymalizacji pojęcie pochodnej kierunkowej.

Pochodną kierunkową funkcji \(f: \mathbb{R}^n→\mathbb{R}\) w punkcie x w kierunku \(d∈\mathbb{R}^n,\,d≠0\) nazywamy granicę
\(\lim_{\alpha \rightarrow 0^+}\frac{1}{\alpha }(f(x+\alpha d)-f(x))=D_+ f(x;d). \)

Następujący lemat pokazując związek pochodnej kierunkowej z gradientem pozwala w prosty sposób policzyć tę pierwszą dla funkcji różniczkowalnych.

LEMAT 3.2  
Jeżeli
funkcja f jest różniczkowalna w punkcie x i określona w otoczeniu tego punktu,
to
\((∀d) D_+ f(x;d)=∇f(x)d.\)

Przedstawimy teraz lemat bardzo ważny dla konstruktorów algorytmów optymalizacji.

LEMAT 3.3  
Jeżeli
funkcja f jest różniczkowalna w punkcie x i określona w otoczeniu tego punktu, oraz
\((∀d) D_+ f(x;d)=∇f(x)d<0,\)
to 
\((∃τ ̄>0)(∀τ∈]0,τ ̄] f(x+τd)<f(x).\)

Ilustrację związków wynikających z Lematu 3.3 przedstawiamy na Rys. 3.1.


Rys. 3.1: Gradient i kierunek poprawy

Z rozważań geometrycznych wiadomo, że iloczyn skalarny dwu wektorów jest ujemny (założenie lematu) wtedy gdy kąt miedzy nimi jest rozwarty. Tak też jest na rysunku dla wybranego wektora d

Własność przedstawiona w Lemacie 5.3 dała dla zadań minimalizacji następującą definicję.

Dla danej różniczkowalnej funkcji f, prostą przechodzącą przez punkt x i wyznaczoną przez taki wektor d, że 
               \(\bigtriangledown f(x)d < 0,\)
nazywamy kierunkiem poprawy (zadania minimalizacji funkcji f ).

Z Rys. 3.1 wynika, że w otoczeniu x, (inaczej mówiąc lokalnie) najlepszym kierunkiem poprawy (kierunkiem, w którym lokalnie funkcja najszybciej maleje) jest prosta wyznaczona przez wektor minus gradientu policzonego w tym punkcie, zwanego antygradientem. Pytaniem, które tu się pojawia jest: jak daleko warto poruszać się w tym kierunku? Dyskusję nad tym, wbrew pozorom, niełatwym zagadnieniem przedstawimy później – w punkcie 4.1 modułu czwartego. 

W punkcie 1.3 Modułu pierwszego wspomnieliśmy o funkcjach wypukłych. Odgrywają one istotną rolę w teorii optymalizacji. Przypomnimy teraz definicje oraz podstawowe własności zbiorów i funkcji wypukłych.

Niech \(x^a,x^b∈\mathbb{R}^n\), zbiór \({x∈\mathbb{R}^n |(∃0≤α≤1)x=αx^a+(1-α)x^b}=[x^a,x^b]\) nazywamy odcinkiem domkniętym o końcach \(x^a \)\( x^b\).
DEFINICJA zbioru wypukłego
Zbiór \(X⊂\mathbb{R}^n\) nazywamy wypukłym jeżeli \((∀x^a,x^b∈X) [x^a,x^b]⊆X\).

DEFINICJA funkcji wypukłej
Funkcję \( f:\mathbb{R}^n→\mathbb{R}\) nazywamy wypukłą na zbiorze \(X⊆\mathbb{R}^n\) jeżeli zbiór
 \(\mathrm{epi } f={(x,r)∈X×R|r≥f(x)} \)
zwany epigrafem (nadgrafem, nad-wykresem) funkcji f jest wypukły.

Zauważmy, że warunkiem koniecznym wypukłości zbioru \(\mathrm{epi } \) jest wypukłość zbioru X na którym jest określona funkcja f


Rys. 3.2: Epigraf funkcji \(x↦f(x)=\sqrt{(x_1-a_1 )^2+(x_2-a_2 )^2 )} \)  określonej na zbiorze \(X={(x_1,x_2)|(x_1-a_1 )^2+(x_2-a_2 )^2≤r^2∧x_2≥r/c(x_1-a_1)(1-2⋅1(x_1-a_1))+a_2},\, c>0  \)

Funkcja przedstawiona na Rys. 3.2 nie jest wypukła dlatego, że zbiór X, na którym jest określona, nie jest wypukły i w konsekwencji jej epigraf nie jest zbiorem wypukłym.

Następny rysunek przedstawia inną przyczynę niewypukłości funkcji określnej na zbiorze wypukłym.


Rys. 3.3: Epigraf nieciągłej funkcji niewypukłej

Funkcja na rysunku nie jest ciągła we wnętrzu zbioru swojego określenia X i na jego brzegu. Tylko nieciągłość wewnątrz zbioru X przeszkadza jej wypukłości. 

Można udowodnić lemat następujący.

LEMAT 3.4  
Jeżeli
funkcja f jest wypukła na zbiorze X
to 
jest ciągła we wnętrzu tego zbioru.

Posługując się Definicją funkcji wypukłej można udowodnić lemat pozwalający na posługiwanie się alternatywną definicją funkcji wypukłej.

LEMAT 3.5  
Funkcja f  jest wypukła na zbiorze X wtedy i tylko wtedy gdy
  • zbiór X jest wypukły i 
  • \((∀0<α<1) (∀x^0,x^1∈X)f(αx^0+(1-α)x^1)≤αf(x^0)+(1-α)f(x^1).\)

  Zwracamy uwagę na to, że często przyjmuje się za definicję funkcji wypukłej tylko warunek drugi Lematu 3.5. Przykład przedstawiony na Rys. 3.2 dobitnie pokazuje, że do wypukłości funkcji na zbiorze X niezbędna jest wypukłość zbioru X.

Następny lemat wiąże różniczkowalność i wypukłość funkcji.

LEMAT 3.6  
Zbiór punktów nieróżniczkowalności funkcji wypukłej ma miarę zero.


Rys. 3.4: Nieróżniczkowalna funkcja wypukła

Rys. 3.4 przedstawia funkcję \(x \mapsto f(x)= \left\{\begin{matrix}((x_1-4)^2+(x_2-4)^2\, \mathrm{dla}\, x_1+x_2\leq 5, \\ (x_1-4)^2+(x_2-4)^2+10(x_1+x_2-5) \mathrm{gdy\, jest\, przeciwnie}\end{matrix}\right.  \)

Prosta na płaszczyźnie ma miarę zero (naturalną miarą na płaszczyźnie jest powierzchnia, a prosta ma zerową powierzchnię). Powstaje więc pytanie: Czy zbiór miary zero, a więc mały dla matematyka, jest „duży”, czy „mały” z naszego punktu widzenia? Odpowiedź jest trudna, bo, „idąc do trzech wymiarów”, powierzchnia kuli w naturalnej mierze przestrzeni trójwymiarowej ma miarę zero, ponieważ tu naturalną miarą jest objętość, a powierzchnia ma zerową objętość, itd. Widać więc, że tam gdzie matematyka posługuję się pojęciem miary, np. w rachunku całkowym, rachunku prawdopodobieństwa, własności funkcji na zbiorze miary zero możemy pominąć. W innych sytuacjach, np. takiej z jaką się spotkamy w punkcie 6.1.4 Modułu szóstego (przedstawionej na Rys. 3.4) własności funkcji na takim zbiorze trzeba uwzględnić w analizie problemu.

Podamy teraz definicję uogólnienia funkcji kwadratowej na przypadek wielu zmiennych.

DEFINICJA formy kwadratowej
Funkcję \(x↦x^T Qx\), gdzie \(Q_{n\times n}\)  jest kwadratową macierzą symetryczną nazywamy formą kwadratową.

W definicji wymagana jest symetryczność macierzy Q. Jak wiec nazwać funkcję \(x↦x^T Q ̄x\), gdzie macierz \((Q ) ̄\) nie jest symetryczna? 

 Otóż, z formalnego punktu widzenia nie ma potrzeby rozpatrywania takich funkcji, ponieważ
\(x^T \tilde{Q}x=1/2 x^T \tilde{Q}x+1/2 x^T \tilde{Q}x=1/2 x^T \tilde{Q}x+1/2 x^T (x^T \tilde{Q})^T=1/2 x^T \tilde{Q}x+1/2 x^T \tilde{Q}^T x=  1/2 x^T (\tilde{Q}+\tilde{Q}^T)x \)
a macierz 1/2(Q ̄+Q ̄^T) jest już symetryczna

DEFINICJA (pół) określoności macierzy Q
Forma kwadratowa lub, w skrócie, określająca ją macierz Q jest
dodatnio półokreślona gdy \((∀x)x^T Qx≥0,\)
dodatnio określona gdy \((∀x≠0)x^T Qx>0.\)

Podamy teraz warunki wiążące wypukłość danej funkcji z określonymi własnościami jej funkcji pochodnych: gradientu i macierzy Hessego.

LEMAT 3.7  
Niech f  będzie klasy \(C^1\).
Funkcja f  jest wypukła na \(X. ⇔(∀x,y∈X)f(y)≥f(x)+∇f(x)(y-x).\)


Rys. 3.5: Pochodna jednowymiarowej różniczkowalnej funkcji wypukłej
LEMAT 3.8  
Niech f  będzie klasy \(C^2\).
Funkcja f jest wypukła na \(X⊆\mathbb{R}^n.⇔(∀v)(∀x∈X) v^T ∇^2 f(x)v≥0\)
(macierz Hessego (niepoprawnie hesjan) jest dodatnio półokreślona).

Podamy teraz twierdzenie opisujące ważne dla zadań optymalizacji własności funkcji wypukłych.

Twierdzenie 3.1  
Jeżeli
funkcja f jest wypukła na zbiorze \(X⊆\mathbb{R}^n\)
to 
a) każdy punkt minimum lokalnego jest punktem minimum globalnego,
b) zbiór \(\mathrm{Arg\,min}_{x∈X} f(x)={x|x=\mathrm{argmin}_X⁡f (⋅)} \) jest zbiorem wypukłym.
Zatem dla funkcji wypukłych rozróżnianie minimum lokalnego i globalnego nie jest potrzebne


Rys. 3.6: Funkcje: a) ściśle wypukła, b) niewypukła, c) wypukła

LEMAT 3.9  
Jeżeli 
funkcja jest ściśle wypukła na \(X⊆\mathbb{R}^n\) tzn.
zbiór X jest wypukły i
\((∀0 \leq α \leq 1) (∀x^0,x^1∈X)f(αx^0+(1-α)x^1) \leq αf(x^0)+(1-α)f(x^1),\)
to 
osiąga na zbiorze X minimum tylko w jednym punkcie albo w ogóle nie osiąga minimum.


Rys. 3.7: Funkcja ściśle wypukła na zbiorze nie domkniętym

Trójwymiarowy i poziomicowy, wykresy funkcji ściśle wypukłej

\(x↦x^T \begin{bmatrix}1 & \frac{1}{2} \\\frac{1}{2}& 1 \\\end{bmatrix}x+[-4\,⋮\,\,2]x+5,\)

o minimum w \((x_1^o,x_2^o)=(10/3,-8/3)\) przedstawia Rys. 3.8.


Rys. 3.8: Funkcja ściśle wypukła
LEMAT 3.10  
Niech f  będzie klasy \(\mathbf{C}^2\).
\((∀v≠0)(∀x∈X) v^T ∇^2 f(x)v>0⇒ \) Funkcjajest ściśle wypukła na X.
Zwracamy uwagę na to, że dodatnia określoność macierzy Hessego jest tylko warunkiem
wystarczającym ścisłej wypukłości funkcji o czym świadczy przykład
ściśle wypukłej funkcji jednej zmiennej  x ↦ f  (x) = x4, której druga pochodna
x ↦ f (x) = 12x2
jest równa zeru w zerze, a więc warunek
(v  0) f (0)v2 > 0
Zwracamy uwagę na to, że dodatnia określoność macierzy Hessego jest tylko warunkiem wystarczającym ścisłej wypukłości funkcji o czym świadczy przykład ściśle wypukłej funkcji jednej zmiennej  \(x ↦ f  (x) = x^4\), której druga pochodna
\(x ↦ f"(x) = 12x^2\)
jest równa zeru w zerze, a więc warunek
\((\forall v \neq 0) f"(0)v2 > 0\)
nie jest spełniony.

Teraz zajmiemy się jeszcze dwiema pożytecznymi właściwościami funkcji wypukłych dotyczącymi ich pochodnej kierunkowej.

Twierdzenie 3.2  
Niech \(f:X→\mathbb{R}\) będzie funkcją wypukłą.
A. \((∀ x∈\mathrm{int}X)(∀d≠0)(∃ D_+ f(x;d)=\mathrm{inf}_{α > 0}  \dfrac{f(x+αd)-f(x)}{α}.\)
B.  \(x^o=\mathrm{argmin}_{\mathbb{ R}^n }⁡f (⋅)⇔(∀d≠0)D_+ f(x^o;d)≥0.\)

W świetle poznanych wcześniej własności, część B. twierdzenia dla wypukłych funkcji różniczkowalnych nie wnosi nowej informacji o ich zachowaniu, bo musi być spełnione: \((∀d)D_+ f(x^o,d)=∇f(x^o)d\) (Lemat 3.2) i jednoczesnie \(f  (xo) = 0\) (podane niżej Twierdzenie 3.6). Zostało jednak przytoczone, ponieważ powyższe własności mają też funkcje nieróżniczkowalne a wiele praktycznych zadań optymalizacji nie jest gładkich, ponadto, jak się o tym przekonamy, naturalne pomysły sposobów rozwiązywania zadań optymalizacji z ograniczeniami prowadzą do zadań niegładkich.

Zanim sformułujemy warunek wystarczający istnienia rozwiązania zadania optymalizacji, dla porządku przypomnimy określenie zadania, którym się zajmujemy.

Zadanie optymalizacji bez ograniczeń, ZOBO
znaleźć \(x^o=\mathrm{argmin}_{x∈\mathbb{R}^n }⁡f (x)\)

Twierdzenie 3.3 wariant twierdzenia Weierstrassa

A. Jeżeli
funkcja f jest ciągła, a zbiór dopuszczalny D jest ograniczony i domknięty czyli zwarty
to
istnieje rozwiązanie zadania optymalizacji (istnieje punkt minimum globalnego funkcji f na zbiorze D).
B. Jeżeli
funkcja f jest ciągła, a zbiór dopuszczalny D jest domknięty (w szczególności może być \(D = \mathbb{R}^n\) ) oraz 
\(\left\| x\right\|\displaystyle \lim_{ x \in D\to \infty }f(x)=\infty \),
to 
istnieje rozwiązanie zadania optymalizacji.

Wymagania przedstawionych wyżej warunków wystarczających można osłabić ale tylko w odniesieniu do rodzaju ciągłości funkcji, założenie o zwartości albo o domkniętości i „uciekaniu” funkcji do nieskończoności musi pozostać, por. rysunek 3.7 na którym zbiór D = X nie jest domknięty.

Dla funkcji jednej zmiennej archetypem funkcji wypukłej jest funkcja kwadratowa z dodatnim współczynnikiem. Funkcja ta oczywiście posiada minimum na dowolnym zbiorze domkniętym, także nieograniczonym. W związku z tym często sądzi się, że wypukłość gwarantuje istnienie minimum funkcji wypukłej na każdym zbiorze domkniętym. Tak jednak nie jest o czym świadczy przykład funkcji wykładniczej \(ℝ \ni x ↦ \mathrm{exp}(x) \in ℝ\), która jest ściśle wypukła i nie ma minimum w swojej, domkniętej przecież dziedzinie. 


Rys. 3.9. Funkcja wykładnicza

Oznacza, to że w przypadku zadań bez ograniczeń, sama wypukłość funkcji wyboru nie rozstrzyga o istnieniu rozwiązania. Inaczej mówiąc, narzędzia pozwalające rozstrzygnąć o istnieniu rozwiązania muszą się odwoływać do innych własności funkcji – muszą być bardziej skomplikowane, np. takie jak Twierdzenie 3.3B.

Przedstawimy teraz podstawowe twierdzenia pozwalające dla funkcji różniczkowalnych zastąpić zadanie optymalizacji bez ograniczeń zadaniem znalezienia rozwiązania stosownego układu równań i sprawdzenia pewnych nierówności. O takiej metodzie rozwiązywania wspominaliśmy w punkcie 1.4 Modułu pierwszego stwierdzając, że gdy chcemy znaleźć rozwiązanie zadania optymalizacji drogą rachunkową, to musimy oryginalne sformułowanie przekształcić do postaci pozwalającej na wykonanie stosownych rachunków. 

Najstarsze twierdzenie pozwalające na stosowne przekształcenie zadania ZOBO, znane w swojej pierwotnej formie już P. Férmatowi około roku 1630, jest następujące.

TWIERDZENIE 3.4 warunek konieczny optymalności I rzędu (współczesna wersja twierdzenia Férmaty)
Jeżeli
dla funkcji f w punkcie \(x^o\) istnieje jej gradient \(∇f(x^o)\),
to 
\(x^o=\mathrm{argmin}_{\mathbb{R}^n }⁡f (⋅)⇒∇f(x^o)=0.\)

Nazwaliśmy to twierdzenie warunkiem koniecznym optymalności I rzędu, bo są w nim wykorzystane tylko pochodne cząstkowe rzędu pierwszego funkcji minimalizowanej.

Inna nazwa tego warunku – warunek stacjonarności – nawiązuje do teorii równań różniczkowych, w której, zerowanie się pochodnej rozwiązania w jakimś przedziale, oznacza że jest ono stałe.

Jak możemy wykorzystać warunek konieczny optymalności I rzędu do znajdowania rozwiązania zadania optymalizacji bez ograniczeń? Odpowiedź zapiszemy w postaci następującej procedury.

Procedura redukcji zadania optymalizacji bez ograniczeń do układu równań
  1. Stosujemy warunek konieczny optymalności I rzędu do funkcji, które mają gradient w całej przestrzeni (nie możemy „czegoś przegapić”).
  2. Zaczynamy od pokazania, że zadanie ma rozwiązanie (możemy posłużyć się twierdzeniem Weierstrassa – twierdzenie (3.2)).
  3. Wyliczamy gradient otrzymując wzór określający równanie wektorowe         \(∇f(x ̄ )=0. \qquad (3.1)\)     (warunek stacjonarności, układ n równań skalarnych, tylu ile jest współrzędnych przestrzeni).
  4. Rozwiązując to równanie dostajemy zbiór rozwiązań \({x ̄}={x ̄^1,...,x ̄^j,...}.\) Interesują nas oczywiście rozwiązania (wektory) rzeczywiste.
  5. Elementy zbioru rozwiązań traktujemy jako „podejrzanych”, których „sprawdzamy na optymalność” tzn. wyliczamy zbiór \({f(x ̄^j)}\) wartości funkcji f, a następnie typujemy jako kandydata na rozwiązanie wektor dla którego wartość funkcji jest najmniejsza (tylko ‘kandydata na’, a nie rozwiązanie, bo twierdzenie jest warunkiem koniecznym!). Oznaczmy go \(x^P \) .
  6. Sprawdzamy, czy wektor xP  jest punktem minimum lokalnego i gdy wiemy, że zadanie ma rozwiązanie, to możemy uznać, go za punkt minimum globalnego, \(x^P = x^o\) .

Które z przedstawionych kroków postępowania (które operacje algorytmu) są najtrudniejszeDrugi i szósty, bo w przypadkach złożonych wymagają de facto udowodnienia pewnych lematów. Kłopotliwe bywa też szukanie wszystkich rozwiązań równania (3.1), szczególnie gdy szukamy tych rozwiązań numerycznie.

PRZYKŁAD 3.1 strona pierwsza
Poszukajmy punktu minimalizującego funkcję \(x↦f(x)=x^3-12(x-1)^2\).
Jak zwykle się to robi, zbagatelizujmy punkt 2 Procedury redukcji, i przystąpmy do rozwiązywania równania (3.1), które dla tego przypadku jest następujące
\(3x ̄^2-24x ̄+24=0.\)
Z zadaniem punktu 4 nie ma kłopotu. Podejrzanymi punktami są
\(x ̄^1=4-2\sqrt{2 }\)  oraz  \(x ̄^2=4+2\sqrt{2,}\)
a wartości funkcji f w podejrzanych punktach, obliczone przy pomocy kalkulatora, są następujące
\(f(x ̄^1)=1.2548,\, f(x ̄^2)=-89.2548".\)
Jeszcze raz bagatelizujemy konieczność pewnego wysiłku, którego wymaga punkt szósty (jak się o tym przekonamy niekoniecznie związanego z rozważaniami teoretycznymi) i uznajemy za rozwiązanie zadania punkt  \(x^o=x ̄^2=4+2\sqrt{</span></span>2}\).
Na koniec wykonujemy przy pomocy komputera rysunek rozważanej funkcji. 

Rys. 3.10: Uzyskany przy pomocy MATLABa wykres funkcji minimalizowanej
Wykonanie rzetelnego rysunku, a więc posłużenie się oprogramowaniem do którego mamy zaufanie, dla inżyniera bywa namiastką formalnego dowodu. „Uczona” nazwa takiego postępowania to stwierdzenie, że zastosowano metodę symulacyjną. Gdy otrzymane w ten sposób rozwiązanie dobrze sprawdza się w zastosowaniu, inżynier nie musi się kłopotać o wywody teoretyczne. 

Najlepszym sposobem zwalniającym użytkownika przedstawionego algorytmu od konieczności udowadniania lematów, jest podanie ogólnego twierdzenia formułującego warunek (warunki?) wystarczające optymalności.

Znany przykład funkcji  \(x ↦ x^3\), która w punkcie zerowania się funkcji pochodnej \(x ↦ 3x^2\)  nie ma ani minimum, ani maksimum, wskazuje, że warunki wystarczające optymalności muszą być warunkami wykorzystującymi co najmniej drugie pochodne.

Pierwsze sformułowanie takich warunków pochodzi od G.W. Leibniza (Nova Methodus pro Maximis et Minimis... 1684). Podamy je w sformułowaniu współczesnym.

TWIERDZENIE 3.5 twierdzenie Leibniza – warunek wystarczający optymalności lokalnej
Niech \(x ̅∈\mathbb{R}^n\)  a funkcja f  będzie klasy \(\mathbf{C}^2\).
\([∇f(x ̄)=0∧(∀v≠0)v^T ∇^2 f(x ̄)v>0]⇒(∃r>0) \, x ̄=\mathrm{argmin}_{\mathfrak{K}(x ̄;r)}⁡f (⋅)\),
gdzie \(\mathfrak{K}(x ̄;r)\) oznacza kulę domkniętą o środku w punkcie \(x ̄\) i promieniu \(r\), tzn.
\(\mathfrak{K}(x ̄;r)={x|\left\|x-\tilde{x} \right\|≤r}.\)

Twierdzenie formułuje wystarczający warunek optymalności lokalnej (w tezie jest minimum na kuli), i tak jak się spodziewaliśmy, warunek ten jest warunkiem II rzędu.

Przypomnijmy sobie Lemat 3.10 podający warunek wystarczający ścisłej wypukłości funkcji. Porównując ten lemat i twierdzenie Leibniza 3.5 widzimy, że warunek wystarczający optymalności lokalnej do warunku stacjonarności \(∇f(x ̄)=0\) dodaje warunek lokalnej ścisłej wypukłości. Wobec tego jego gwarancje też mogą być lokalne. O zachowaniu funkcji można sądzić po zachowaniu się jej pochodnych, ale informacja ta dotyczy infinitezymalnych  (tak by powiedział Newton) odchyleń od punktu, w którym pochodne są liczone! 

Zatem, dla funkcji dostatecznie gładkich możemy sobie poradzić z zagadnieniem punktu 6. (ostatniego) Procedury redukcji (teraz powinno być jasne, dlaczego jest tam wstawiona uwaga „gdy wiemy, że nasze zadanie ma rozwiązanie”).

Powróćmy do przykładu 3.1


PRZYKŁAD 3.1 strona druga
Szukamy punktu minimalizującego funkcję \(x↦f(x)=x^3-12(x-1)^2\).
Do sprawdzenia wymagań punktu 6. (sprawdzić, czy podejrzany punkt dający najmniejsza wartość funkcji f oznaczony jako \(x^P\)  jest punktem minimum lokalnego) posłużymy się twierdzeniem Leibniza 3.4. Musimy więc policzyć drugą pochodną funkcji minimalizowanej:
\(x↦f(x)=6x-24\)
i wartość tej pochodnej w punkcie  \(x^P=x ̄^2=4+2\sqrt{2}\), uznanym za rozwiązanie:
\(f″ (4+2\sqrt{2})=24+12\sqrt{2}-24>0.\)
Z Twierdzenia Leibniza 3.5 wynika więc, że \(x ̄^2\) jest na pewno minimum lokalnym.
Ale czy jest minimum globalnym ? 
Aby odpowiedzieć na to pytanie, trzeba wiedzieć, czy nasze zadanie ma rozwiązanie, tzn. trzeba wykonać polecenie punktu 2. Procedury: „pokazać, że zadanie ma rozwiązanie”. Jak uczono nas w szkole przy badaniu zmienności funkcji policzmy granice f w minus nieskończoności
\(f(x)=x^3-12(x-1)^2\,_{\overrightarrow{x\to -\infty }}-\infty  \).
Zatem zadanie nie ma rozwiązania!Procedura Redukcji dała tylko rozwiązanie lokalne. Zauważmy, że tylko taki wniosek można było wyciągnąć z Rys. 3.10. Został on przecież, jak każdy rysunek komputerowy wykonamy na zbiorze ograniczonym i domkniętym (siatce równomiernej), a w przykładzie powinniśmy badać funkcję na całym zbiorze liczb rzeczywistych ℝ.

Niestety, z błędami tego typu spotkałem się w poważnych, skądinąd, podręcznikach. Na szczęście tylko próbujących wykorzystać optymalizację a nie poświęconych jej teorii. 

Podkreślmy też, jeszcze raz, że wszelkie rozważania oparte na własnościach funkcji pochodnych, a więc na rachunku różniczkowym mają lokalny charakter. Czy istnieją rezultaty o globalnym charakterze? Wypukłość na pewnym zbiorze ma, że tak powiem, z punktu widzenia tego zbioru, charakter całościowy – globalny. Następujące twierdzenia pokazują, że dla funkcji wypukłych można podać warunki które musi spełniać punkt rozwiązujący nasze zadanie (punkt minimum globalnego) i co więcej są to warunki konieczne i wystarczające.

TWIERDZENIE 3.6 warunek optymalności dla gładkich funkcji wypukłych
Niech  f będzie wypukłą funkcją, różniczkowalną w punkcie \(x ̄\).
\(∇f(x ̄)=0⇔x ̄=\mathrm{argmin}_{\mathbb{ }R^n }⁡f (⋅)\).

Dla gładkich funkcji wypukłych konieczny warunek optymalności I rzędu jest jednocześnie warunkiem wystarczającym. 

Jest to piękny rezultat teoretyczny, sprowadzający dla funkcji wypukłych Procedurę redukcji do układu równań wyłącznie do rachunków: liczenia pochodnych i rozwiązywania równań, czyli do takiego postępowania, które zastosowaliśmy w Przykładzie 3.1, niestety jak pokazał Rys. 3.10 do funkcji niewypukłej. Aby było ono poprawne trzeba (tylko) sprawdzić czy funkcja minimalizowana jest klasy \(\mathbf{C}^2\) i na początku realizacji wymagań punktu 6. policzyć macierz Hessego by posługując się Lematem 3.8 stwierdzić jej wypukłość (albo brak wypukłości). Gdy funkcja jest wypukła – istnienie rozwiązania wynika z Twierdzenia 3.5 i jednocześnie wskazany w punkcie 5. punkt (wektor) jest tym szukanym rozwiązaniem. 

I jak tu się nie zgodzić z H. Minkowskim, pierwszym matematykiem, który pod koniec XIX wieku badał własności zbiorów i funkcji wypukłych i podobno stwierdził, że „wszystko co wypukłe jest piękne”. 

Przedstawiona procedura rozwiązywania zadania optymalizacji bez ograniczeń przez redukcję do układu równań ma ograniczone zastosowanie.

  • Po pierwsze można ją (w zasadzie) stosować tylko tam, gdzie znamy analityczny wzór określający funkcję wyboru. Jednak w wielu zadaniach praktycznych wartości tej funkcji są wyliczane za pomocą szeregu procedur numerycznych i całościowego wzoru na nią nie znamy. Często jest też tak, że nawet gdy znamy wzory, to posługiwanie się nimi jest żmudne i uciążliwe (tak jest np. w zagadnieniach optymalizacji związanych z pracą robotów) i w zasadzie robimy wszystko, by takiej pracy uniknąć. Powyżej napisaliśmy, w zasadzie, ponieważ opracowano procedury automatycznego różniczkowania (nie mylić z procedurami symbolicznego różniczkowania), które przetwarzają kod wyliczający funkcję wyboru na kod wyliczający jej pochodne. Zatem wymaganie znajomości wzoru nie jest już takie kategoryczne. 
  • Po drugie, trzeba równanie (3.1) rozwiązać, a analitycznie potrafimy rozwiązywać tylko równania najprostsze. Musimy więc posłużyć się numerycznymi algorytmami rozwiązywania równań. Powstaje tu pytanie, po co męczyć się nad przekształceniem, czy nie lepiej od razu zastosować numeryczny algorytm znajdowania rozwiązania zadania optymalizacji.
  • I na koniec, przyczyna trzecia – wyraźnie sformułowana konieczność udowodnienia, że wyliczony punkt jest rzeczywiście rozwiązaniem, wielu odstręcza.

Zauważmy, że jednym z plusów tej metody jest to, że idealnie nadaje się do, nazwijmy to tak, sprawdzania wiadomości i zdolności rachunkowych studentów.

Jeżeli nie Procedura redukcji do układu równań, to co możemy poradzić naszemu Algorytmowi, którego jakiś czas temu zostawiliśmy samego na zboczu funkcji bananowej:

\((x1, x2) ↦ f (x1, x2) = 100(x2 – x1^2)^2 + (1 – x1)^2.\)


Rys. 3.11: Funkcja bananowa Rosenbrocka. Kształt poziomic wyjaśnia nazwę, powszechnie używaną w literaturze. Do testowania działania algorytmów optymalizacji wymyślił ją H. H. Rosenbrock w roku 1960.

Odpowiedzi udzielimy w module następnym, a teraz zajmiemy się kwadratowymi przybliżeniami funkcji, które nie koniecznie są wypukłe.