5.8 KiB
Pytanie 17: Optymalizacja nieliniowa - warunki optymalności
Pytanie
"Przedstawić warunki konieczne i dostateczne optymalności różniczkowalnych zadań optymalizacji bez ograniczeń i z ograniczeniami oraz warunki regularności i omówić metody poszukiwania rozwiązań zadań optymalizacji nieliniowej."
Przedmiot: AMO (Analiza i Metody Optymalizacji)
📚 Odpowiedź główna
1. Optymalizacja bez ograniczeń
Problem
\min_{x \in \mathbb{R}^n} f(x)
Warunki konieczne (I rzędu)
Jeśli x^* jest minimum lokalnym i f jest różniczkowalna:
\nabla f(x^*) = 0
(Gradient zerowy - punkt stacjonarny)
Warunki dostateczne (II rzędu)
Jeśli \nabla f(x^*) = 0 oraz hesjan H(x^*) = \nabla^2 f(x^*):
| Hesjan | Wniosek |
|---|---|
H \succ 0 (dodatnio określony) |
Minimum lokalne |
H \prec 0 (ujemnie określony) |
Maximum lokalne |
H nieokreślony |
Punkt siodłowy |
H \succeq 0 (półdodatni) |
Brak wniosku |
Sprawdzenie: Wszystkie wartości własne \lambda_i > 0 \Rightarrow H \succ 0
2. Optymalizacja z ograniczeniami
Problem ogólny
\min_{x} f(x)
\text{s.t. } g_i(x) \leq 0, \quad i = 1, \ldots, m
\quad\quad h_j(x) = 0, \quad j = 1, \ldots, p
Lagrangian
L(x, \lambda, \mu) = f(x) + \sum_{i=1}^{m} \lambda_i g_i(x) + \sum_{j=1}^{p} \mu_j h_j(x)
3. Warunki KKT (Karush-Kuhn-Tucker)
Warunki konieczne I rzędu
Jeśli x^* jest minimum i spełnione są warunki regularności:
- Stacjonarność:
\nabla_x L(x^*, \lambda^*, \mu^*) = 0
- Dopuszczalność pierwotna:
g_i(x^*) \leq 0, \quad h_j(x^*) = 0
- Dopuszczalność dualna:
\lambda_i^* \geq 0
- Komplementarność:
\lambda_i^* g_i(x^*) = 0 \quad \forall i
KKT interpretacja geometryczna:
∇f(x*)
↑
│ ∇g₁(x*)
│ ↗
─────●───── (granica ograniczenia)
x*
W optimum: ∇f = -λ∇g (przeciwne kierunki, λ≥0)
4. Warunki regularności (Constraint Qualification)
Warunki zapewniające, że KKT są konieczne:
| Warunek | Definicja |
|---|---|
| LICQ (Linear Independence CQ) | Gradienty aktywnych ograniczeń liniowo niezależne |
| MFCQ (Mangasarian-Fromovitz CQ) | Słabsza wersja LICQ |
| Slater | Istnieje punkt ściśle wewnątrz (dla wypukłych) |
LICQ: \{\nabla g_i(x^*) : g_i(x^*) = 0\} \cup \{\nabla h_j(x^*)\} są liniowo niezależne
5. Warunki dostateczne II rzędu
Jeśli spełnione KKT i dla hesjanu Lagrangianu:
d^T \nabla_{xx}^2 L(x^*, \lambda^*, \mu^*) d > 0
dla wszystkich d \neq 0 spełniających:
\nabla g_i(x^*)^T d = 0dla aktywnychg_i\nabla h_j(x^*)^T d = 0dla wszystkichh_j
To x^* jest ścisłym minimum lokalnym.
6. Metody optymalizacji nieliniowej
Metody gradientowe (bez ograniczeń)
| Metoda | Kierunek | Zbieżność |
|---|---|---|
| Gradient Descent | d = -\nabla f |
Liniowa |
| Newton | d = -H^{-1}\nabla f |
Kwadratowa |
| BFGS | Quasi-Newton | Superlinearna |
| Conjugate Gradient | Sprzężone kierunki | Superlinearna |
Gradient Descent:
x_{k+1} = x_k - α_k ∇f(x_k)
Newton:
x_{k+1} = x_k - [∇²f(x_k)]^{-1} ∇f(x_k)
Metody z ograniczeniami
| Metoda | Idea |
|---|---|
| Kary zewnętrznej | \min f(x) + \rho \sum \max(0, g_i)^2 |
| Kary wewnętrznej (Barrier) | \min f(x) - \mu \sum \log(-g_i) |
| SQP (Sequential Quadratic Programming) | Iteracyjne rozwiązywanie QP |
| Interior Point | Barrier + Newton |
| Augmented Lagrangian | Lagrangian + kara |
SQP - Algorytm
Repeat:
1. Rozwiąż podproblem QP:
min ∇f(x_k)^T d + ½ d^T H_k d
s.t. g_i(x_k) + ∇g_i(x_k)^T d ≤ 0
h_j(x_k) + ∇h_j(x_k)^T d = 0
2. x_{k+1} = x_k + α_k d_k
3. Aktualizuj H_k (BFGS)
7. Porównanie metod
| Metoda | Ograniczenia | Złożoność iter. | Zbieżność |
|---|---|---|---|
| Gradient | Bez | O(n) | Liniowa |
| Newton | Bez | O(n³) | Kwadratowa |
| BFGS | Bez | O(n²) | Superlinearna |
| SQP | Z | O(n³) per QP | Superlinearna |
| Interior Point | Z | O(n³) | Polinomialna |
🧠 Mnemoniki
"KKT = Keep Killing Troubles":
- Kondycja stacjonarności (∇L = 0)
- Konieczność dopuszczalności (g ≤ 0, h = 0, λ ≥ 0)
- Trick komplementarności (λg = 0)
"Hesjan dodatni = Minimum":
H \succ 0 → punkt jest minimum (jak miska)
"LICQ = Linear Independence":
Gradienty aktywnych ograniczeń muszą być liniowo niezależne
❓ Pytania dodatkowe
Q1: "Co oznacza warunek komplementarności λᵢgᵢ = 0?"
Odpowiedź: Albo ograniczenie nieaktywne (g_i < 0, wtedy \lambda_i = 0), albo aktywne (g_i = 0, wtedy \lambda_i \geq 0). Mnożnik niezerowy tylko dla "ciasnych" ograniczeń.
Q2: "Kiedy KKT są warunkami dostatecznymi?"
Odpowiedź: Dla problemów wypukłych (f wypukła, g wypukłe, h liniowe). Wtedy każdy punkt KKT jest globalnym minimum.
Q3: "Jaka jest przewaga BFGS nad Newtonem?"
Odpowiedź: BFGS nie wymaga obliczania hesjanu (tylko gradienty), przybliża hesjan iteracyjnie. O(n²) zamiast O(n³) per iteracja. Bardziej odporny na nieścisłości.
🎯 Kluczowe punkty
- Bez ograniczeń:
\nabla f = 0(konieczny),H \succ 0(dostateczny) - Z ograniczeniami: KKT = stacjonarność + dopuszczalność + komplementarność
- Regularność: LICQ, Slater - warunki na poprawność KKT
- Metody: Gradient, Newton, BFGS (bez), SQP, Interior Point (z)
- Wypukłość: KKT konieczne i dostateczne
📖 Źródła
- Boyd, Vandenberghe - "Convex Optimization"
- Nocedal, Wright - "Numerical Optimization"
- Bazaraa et al. - "Nonlinear Programming"