📋 İçindekiler
- LP'nin Sınırları: Neden NLP
- NLP Problem Sınıflandırması
- Lagrange Çarpanları
- KKT (Karush-Kuhn-Tucker) Koşulları
- Konveks vs Non-Konveks Optimizasyon
- Metaheuristik Yöntemler
- Dinamik Programlama (DP)
- Bellman Denklemi ve Optimallik Prensibi
- Sırt Çantası Problemi: Adım Adım
- En Kısa Yol Problemi (DP ile)
- Vaka 1: Üretim Planlaması
- Vaka 2: Yatırım Portföyü
- Sonuç
1. LP'nin Sınırları: Neden Doğrusal Olmayan Programlama
Doğrusal Programlama (LP) der ki: "1 sandalye yapmak 10₺ ise 1000 sandalye 10.000₺'dir" — sabit ölçek getirisi. Ancak gerçek hayat doğrusal değildir:
| Durum | LP Varsayımı | Gerçek Hayat (NLP) |
|---|---|---|
| Ölçek Ekonomisi | Birim maliyet sabit | Çok üretince toptan alım → birim maliyet düşer |
| Azalan Getiri | Kâr doğrusal artar | Pazar doyması → her ek birim daha az kâr getirir |
| Portföy Riski | Risk yok | Varyans (σ²) → karesel fonksiyon |
| Mesafe | Düz çizgi | Öklid mesafesi → karesel kök |
| Kimyasal Reaksiyon | Doğrusal oran | Arrhenius denklemi → üstel fonksiyon |
NLP: max Z = 5x₁² + sin(x₂) - log(x₁) → Simplex çalışmaz ❌
2. NLP Problem Sınıflandırması
| Problem Türü | Amaç Fonksiyonu | Kısıtlar | Çözüm Yöntemi |
|---|---|---|---|
| Kısıtsız NLP | Doğrusal olmayan | Yok | Gradyan, Newton, Quasi-Newton |
| Kısıtlı NLP | Doğrusal olmayan | Doğrusal veya doğrusal olmayan | Lagrange, KKT, SQP |
| Konveks Programlama | Konveks (içbükey minimizasyon) | Konveks küme | Global optimum garantili |
| Kuadratik Programlama (QP) | Karesel: x'Qx + c'x | Doğrusal | Portföy optimizasyonu (Markowitz) |
| Geometrik Programlama | Posinomyal fonksiyonlar | Posinomyal | Mühendislik tasarım optimizasyonu |
3. Lagrange Çarpanları: Adım Adım
Eşitlik kısıtlı NLP problemlerinin çözüm yöntemi:
Kısıt: x₁ + x₂ = 10
Lagrange Fonksiyonu:
L(x₁, x₂, λ) = x₁·x₂ - λ(x₁ + x₂ - 10)
Kısmi türevler = 0:
∂L/∂x₁ = x₂ - λ = 0 → x₂ = λ ...(1)
∂L/∂x₂ = x₁ - λ = 0 → x₁ = λ ...(2)
∂L/∂λ = -(x₁ + x₂ - 10) = 0 → x₁ + x₂ = 10 ...(3)
(1) ve (2)'den: x₁ = x₂ = λ
(3)'e koy: 2λ = 10 → λ = 5
Çözüm: x₁* = 5, x₂* = 5, f* = 25
λ = 5 → Kısıtı 1 birim gevşetebilseydik (x₁+x₂=11), f ≈ 30 olurdu
4. KKT (Karush-Kuhn-Tucker) Koşulları
Eşitsizlik kısıtlı NLP problemleri için genelleştirilmiş optimallik koşulları:
KKT Koşulları:
1. Stasyonerlik: ∇f(x*) + Σ μi·∇gi(x*) = 0
2. Primal Uygunluk: gi(x*) ≤ 0
3. Dual Uygunluk: μi ≥ 0
4. Tamamlayıcı Gevşeklik: μi·gi(x*) = 0
Tamamlayıcı gevşeklik: Ya kısıt aktiftir (gi=0), ya da çarpan sıfırdır (μi=0). İkisi birden pozitif olamaz!
5. Konveks vs Non-Konveks Optimizasyon
| Özellik | Konveks | Non-Konveks |
|---|---|---|
| Yerel Optimum | = Global Optimum ✅ | Yerel ≠ Global ❌ |
| Çözüm Garantisi | Polinomyal zamanda çözülebilir | NP-Hard olabilir |
| Fonksiyon Şekli | Tek çukur (bowl) | Birden fazla tepe ve çukur |
| Çözüm Yöntemi | Gradyan, interior point | Metaheuristik, global arama |
| Endüstriyel Örnek | Portföy optimizasyonu | Tesis yeri seçimi, iş çizelgeleme |
6. Metaheuristik Yöntemler
| Yöntem | İlham Kaynağı | Nasıl Çalışır | Endüstriyel Kullanım |
|---|---|---|---|
| Genetik Algoritma (GA) | Doğal seleksiyon | Çaprazlama + mutasyon ile popülasyon evrimleşir | İş çizelgeleme, tesis yerleşimi |
| Tavlama Benzetimi (SA) | Metal soğutma | Yüksek sıcaklıkta kötü çözümleri kabul eder, soğudukça sadeleşir | TSP, devre kartı tasarımı |
| Karınca Kolonisi (ACO) | Karınca feromon izi | Karıncalar kısa yollara daha çok feromon bırakır | Araç rotalama (VRP) |
| Parçacık Sürüsü (PSO) | Kuş sürüsü | Parçacıklar en iyi konuma doğru hareket eder | Sinir ağı eğitimi, parametre ayarı |
| Tabu Arama | Bellek mekanizması | Ziyaret edilen çözümleri "tabu" listesine koyar | Kapasite planlama |
7. Dinamik Programlama (DP)
Richard Bellman tarafından 1953'te geliştirilen DP, büyük bir problemi sıralı alt-problemlere bölerek çözer. NLP'den farklı olarak, DP ayrık/çok aşamalı karar problemlerini hedefler.
"Önceki kararlarınız sonucu hangi duruma ulaştığınız önemli değildir. Asıl önemli olan, şu an bulunduğunuz durumdan itibaren alacağınız kararların optimal politikasını çizmektir." — Richard Bellman, 1953
7.1 DP Terminolojisi
| Terim | Tanım | Örnek |
|---|---|---|
| Aşama (Stage) | Karar verilen nokta | Yıl 1, Yıl 2, ... Yıl N |
| Durum (State) | Her aşamadaki sistem durumu | Kalan bütçe, stok seviyesi |
| Karar (Decision) | Her aşamada alınan eylem | Ne kadar yatırım yap |
| Dönüşüm (Transition) | Kararla durum nasıl değişir | sn+1 = sn - xn |
| fn(s) | n. aşamadan itibaren optimal getiri | Bellman denklemi ile hesaplanır |
8. Bellman Denklemi
fn(s) = maxxn { rn(s, xn) + fn+1(s - xn) }
fn(s): n. aşamadan itibaren s durumunda elde edilecek optimal toplam getiri
rn(s, xn): n. aşamada xn kararının anlık getirisi
fN+1(s) = 0 (son aşama sonrası başlangıç koşulu)
9. 0-1 Sırt Çantası Problemi: Adım Adım DP Çözümü
Bir hırsız müzeye girdi. Çantası max 15 kg. İçerideki eşyalar:
| Eşya | Ağırlık (kg) | Değer ($K) | Değer/kg ($K) |
|---|---|---|---|
| Heykel | 12 | 500 | 41.7 |
| Tablo | 3 | 300 | 100.0 |
| Gümüş Kupa | 5 | 400 | 80.0 |
| Altın Sikke | 6 | 200 | 33.3 |
9.1 DP Tablosu (Geriye Sarma)
f4(s) = 200 eğer s ≥ 6, aksi halde 0
Aşama 3 (Gümüş Kupa + kalan):
f3(s) = max{f4(s), 400 + f4(s-5)} (s ≥ 5 için)
f3(15) = max{200, 400+200} = 600 (Kupa + Sikke)
f3(10) = max{200, 400+200} = 600
f3(5) = max{0, 400} = 400 (sadece Kupa)
Aşama 2 (Tablo + kalan):
f2(s) = max{f3(s), 300 + f3(s-3)}
f2(15) = max{600, 300+600} = 900 (Tablo + Kupa + Sikke)
f2(12) = max{600, 300+400} = 700
Aşama 1 (Heykel + kalan):
f1(15) = max{f2(15), 500 + f2(15-12)}
= max{900, 500 + f2(3)}
f2(3) = max{f3(3), 300+f3(0)} = max{0, 300} = 300
= max{900, 500+300} = max{900, 800} = 900
Optimal Çözüm: Tablo (3kg) + Kupa (5kg) + Sikke (6kg) = 14 kg, $900K
Heykel en değerli eşya ama çantaya daha az sığdırıyor. "En pahalı = En iyi" yanılgısı!
10. En Kısa Yol Problemi (DP ile)
Bir şehir ağında A'dan F'ye en kısa yolu DP ile bulalım:
A→B: 4 | A→C: 2 | B→D: 5 | B→E: 10 | C→D: 8
C→E: 3 | D→F: 6 | E→F: 7
Geriye Sarma (F'den başla):
f(F) = 0
f(D) = 6 (D→F)
f(E) = 7 (E→F)
f(B) = min{5+f(D), 10+f(E)} = min{11, 17} = 11 (B→D→F)
f(C) = min{8+f(D), 3+f(E)} = min{14, 10} = 10 (C→E→F)
f(A) = min{4+f(B), 2+f(C)} = min{15, 12} = 12 (A→C→E→F)
En kısa yol: A → C → E → F = 12 km
11. Vaka Çalışması 1: Üretim Planlaması (DP)
Problem: Talep değişken, stok maliyeti var, fazla mesai pahalı. Her ay ne kadar üretilmeli
| Ay | Talep | Normal Kapasite | Normal Maliyet | Fazla Mesai Maliyet | Stok Maliyeti |
|---|---|---|---|---|---|
| 1 | 100 | 80 | ₺200/birim | ₺300/birim | ₺50/birim/ay |
| 2 | 120 | 80 | ₺200 | ₺300 | ₺50 |
| 3 | 60 | 80 | ₺200 | ₺300 | ₺50 |
| 4 | 90 | 80 | ₺200 | ₺300 | ₺50 |
DP çözümü: Her ayı bir aşama, dönem sonu stoğu bir durum (state) olarak tanımla. Bellman denklemi ile geriye doğru çözerek toplam maliyeti minimize et.
Sonuç: Ay 1'de 100 (80 normal + 20 FM), Ay 2'de 120 (80 normal + 40 FM), Ay 3'te 80 (60 talep + 20 stok), Ay 4'te 70 (90 talep - 20 stoktan) = Toplam maliyet: ₺79.000 (sezgisel yönteme göre %12 tasarruf).
12. Vaka Çalışması 2: Yatırım Portföyü (NLP)
Problem: 3 hisse senedi arasında ₺1M yatırım dağıtımı. Beklenen getiriyi maximize ederken riski (varyansı) minimize et.
min σ²p = x'Qx = Σi Σj xi·xj·σij
Kısıtlar:
Σ xi = 1 (tüm para yatırılır)
Σ ri·xi ≥ Rmin (minimum getiri hedefi)
xi ≥ 0 (açığa satış yok)
Bu problem QP (Kuadratik Programlama) — NLP'nin özel bir halidir. Konveks olduğu için global çözüm garantidir.
13. Sonuç
📊 Problem doğrusal mı → LP / Simplex
📈 Doğrusal olmayan ama konveks mi → KKT, Interior Point
🌀 Non-konveks / çok tepeli mi → Metaheuristik (GA, SA, PSO)
📅 Çok aşamalı karar mı → Dinamik Programlama
🎒 Tamsayılı karar (al/alma) → 0-1 Knapsack, Branch & Bound
💰 Portföy / risk minimizasyonu → Kuadratik Programlama