Stokastik Programlama
Stokastik programlama (İng. stochastic programming) — matematiksel programlamanın bir alt dalı olup, modelin bazı parametrelerinin kesin olarak bilinmediği, bunun yerine bilinen veya tahmin edilen olasılık dağılımlarına sahip rastgele değişkenler olarak temsil edildiği belirsizlik koşullarında optimizasyon problemlerini çözmek için modeller ve yöntemler geliştiren bir disiplindir[1][2].
Tüm verilerin sabit ve bilinen sabitler olarak kabul edildiği deterministik problemlerin aksine, stokastik programlama; belirli bir istatistiksel anlamda optimal olan bir çözüm (veya karar politikası) bulmayı hedefler. Bu, çoğunlukla amaç fonksiyonunun beklenen değerinin minimize edilmesi veya maksimize edilmesi anlamına gelir[1]. Temel fikir, rastgele parametrelerin tüm olası gerçekleşmeleri üzerinden "ortalamada" en iyi olacak bir karar politikası bulmaktır; bu yaklaşım, özellikle kararların benzer koşullarda defalarca alındığı problemler (örneğin stok yönetimi veya enerji sistemleri) için büyük önem taşır[3].
Matematiksel Problem Formülasyonu
Stokastik programlama problemi genel formda şu şekilde ifade edilebilir: burada:
- — belirlenmesi gereken karar değişkenlerinin (kararların) vektörü.
- — deterministik kısıtlar tarafından tanımlanan için uygun çözümler kümesi.
- — problemin belirsiz parametrelerini (örneğin talep, fiyatlar, hava koşulları) temsil eden rastgele vektör.
- — değeri hem alınan karar 'ye hem de rastgele vektörün gerçekleşmesi 'e bağlı olan amaç fonksiyonu.
- — vektörünün olasılık dağılımına göre hesaplanan beklenen değer operatörü.
Çok aşamalı stokastik modellerin temelinde yatan en önemli ilke öngörüsüzlük ilkesidir (İng. non-anticipativity principle). Bu ilke, herhangi bir aşamada alınan kararların yalnızca o ana kadar mevcut olan bilgiye bağlı olabileceğini ve "geleceğe bakamayacağını" belirtir[2].
İki Aşamalı Telafi Hakkına Sahip Problem
En yaygın model, telafi hakkına sahip iki aşamalı stokastik programdır (İng. two-stage stochastic program with recourse)[1]. Karar alma süreci iki aşamaya ayrılır:
- Birinci aşama: "Burada ve şimdi" (here-and-now) kararı alınır — vektörü belirlenir. Bu karar, rastgele vektörün belirli bir gerçekleşmesi bilinmeden önce verilmek zorundadır.
- İkinci aşama: Rastgele olay gerçekleştikten sonra, birinci aşama kararı ile sonucunun birleşiminden doğan olumsuz etkileri en aza indirmeye veya ortaya çıkan elverişli fırsatlardan yararlanmaya yönelik bir düzeltici ya da telafi kararı (recourse decision) — vektörü — alınır.
Matematiksel olarak iki aşamalı stokastik doğrusal programlama problemi şu şekilde formüle edilir: birinci aşama kısıtları altında: . Burada — telafi fonksiyonu (recourse function) olup ikinci aşama probleminin optimal değerini temsil eder: burada — ve parametrelerini içeren rastgele vektör; ve ise deterministik parametrelerdir[2].
Temel Özellikler ve Teoremler
- Dışbükeylik: Teorinin temel sonuçlarından biri, iki aşamalı stokastik doğrusal programlama problemi için beklenen telafi fonksiyonu 'nin dışbükey bir fonksiyon olduğudur. Bu özellik son derece önemlidir; zira birinci aşamanın genel probleminin bir dışbükey programlama problemi olduğunu garanti eder. Bunun için etkili çözüm yöntemleri mevcuttur ve global optimum yerel optimumla çakışır[1].
- Deterministik eşdeğer: Rastgele vektörün sonlu sayıda olası gerçekleşmesi (senaryosu) ve bunlara karşılık gelen olasılıkları varsa, stokastik programlama problemi tek bir büyük deterministik optimizasyon problemi olarak yeniden formüle edilebilir. Bu durumda beklenen değer, tüm senaryolar üzerinden ağırlıklı bir toplamla değiştirilir. Ancak bu problemin boyutu senaryo sayısıyla doğrusal olarak büyümekte; bu durum "boyutların lanetine" yol açmakta ve büyük senaryo sayıları için bu yaklaşımı hesaplamalı olarak çözümsüz kılmaktadır[2].
Robust Optimizasyon ile Karşılaştırma
Stokastik programlama, belirsizlik koşullarında optimizasyona yönelik çeşitli yaklaşımlardan biridir. Robust optimizasyondan temel farkı, belirsizliğin modelleme biçimi ve optimallik kriteridir[4].
| Kriter | Stokastik optimizasyon | Robust optimizasyon |
|---|---|---|
| Belirsizliğin temsili | Parametreler, bilinen olasılık dağılımına sahip rastgele değişkenlerdir | Parametreler belirli bir belirsizlik kümesine aittir; dağılım gerekmez |
| Optimallik kriteri | Amaç fonksiyonunun beklenen değerinin optimizasyonu | En kötü senaryoda optimizasyon (minimax) |
| Çözümün niteliği | "Ortalamada" optimal politika, nadir senaryolar için uygun olmayabilir | Tüm gerçekleşmeler için uygunluğu garanti edilen çözüm; muhafazakâr olabilir |
Örnekler
- Gazete bayii problemi (İng. newsvendor problem): Bir satıcının gelecekteki kesin talebi bilmeden ne kadar stok satın alacağına karar vermesi gereken klasik bir stok yönetimi problemidir. Çözüm, fazla stoktan kaynaklanan kayıp riski ile kıtlıktan kaynaklanan kaçırılan kâr riski arasında denge kurar.
- Çiftçi problemi: Bir çiftçi, verimi etkileyen gelecekteki hava koşullarını bilmeden toplam arazisini farklı ürünler arasında nasıl böleceğine karar verir. Hava koşulları belli olduğunda çiftçi düzeltici adımlar atabilir (örneğin fazla ürünü satmak veya eksik ürünü piyasadan satın almak)[5].
Ayrıca bakınız
- Matematiksel programlama
- Yöneylem araştırması
- Robust optimizasyon
- Dinamik programlama
- Kontrol teorisi
Notlar
[1] [2] [3] [4] [5] </references>
- ↑ 1.0 1.1 1.2 1.3 1.4 Shapiro, A., Dentcheva, D., & Ruszczyński, A. (2009). Lectures on Stochastic Programming: Modeling and Theory. Society for Industrial and Applied Mathematics (SIAM).
- ↑ 2.0 2.1 2.2 2.3 2.4 Birge, J. R., & Louveaux, F. (2011). Introduction to Stochastic Programming (2nd ed.). Springer Science+Business Media.
- ↑ 3.0 3.1 "Стохастическое программирование". Википедия. [1]
- ↑ 4.0 4.1 Gorissen, B. L., Yanıkoğlu, İ., & den Hertog, D. (2015). A practical guide to robust optimization. Omega, 53, 124-137.
- ↑ 5.0 5.1 Bricker, D. L. SLPwR: Farmer Problem. University of Iowa. [2]