praca_magisterska/pytania/odpowiedzi/17-optymalizacja-nieliniowa.md

5.8 KiB
Raw Blame History

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:

  1. Stacjonarność:
\nabla_x L(x^*, \lambda^*, \mu^*) = 0
  1. Dopuszczalność pierwotna:
g_i(x^*) \leq 0, \quad h_j(x^*) = 0
  1. Dopuszczalność dualna:
\lambda_i^* \geq 0
  1. 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 = 0 dla aktywnych g_i
  • \nabla h_j(x^*)^T d = 0 dla wszystkich h_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

  1. Bez ograniczeń: \nabla f = 0 (konieczny), H \succ 0 (dostateczny)
  2. Z ograniczeniami: KKT = stacjonarność + dopuszczalność + komplementarność
  3. Regularność: LICQ, Slater - warunki na poprawność KKT
  4. Metody: Gradient, Newton, BFGS (bez), SQP, Interior Point (z)
  5. Wypukłość: KKT konieczne i dostateczne

📖 Źródła

  1. Boyd, Vandenberghe - "Convex Optimization"
  2. Nocedal, Wright - "Numerical Optimization"
  3. Bazaraa et al. - "Nonlinear Programming"