Pemrograman Stokastik
Pemrograman stokastik (Ingg. stochastic programming) — cabang pemrograman matematis yang mengembangkan model dan metode penyelesaian masalah optimasi dalam kondisi ketidakpastian, ketika beberapa parameter model tidak diketahui secara pasti, melainkan direpresentasikan sebagai variabel acak dengan distribusi probabilitas yang diketahui atau diestimasi[1][2].
Berbeda dengan masalah deterministik, di mana semua data dianggap sebagai konstanta yang telah ditetapkan, pemrograman stokastik bertujuan menemukan solusi (atau kebijakan pengambilan keputusan) yang optimal dalam suatu pengertian statistik tertentu. Paling sering hal ini berarti meminimalkan atau memaksimalkan nilai ekspektasi matematis dari fungsi tujuan[1]. Gagasan utamanya adalah menemukan kebijakan pengambilan keputusan yang akan menjadi yang terbaik "rata-rata" atas semua kemungkinan realisasi parameter acak, yang sangat relevan untuk masalah di mana keputusan diambil berulang kali dalam kondisi serupa (misalnya, dalam manajemen persediaan atau sistem energi)[3].
Formulasi matematis masalah
Secara umum, masalah pemrograman stokastik dapat dirumuskan sebagai: di mana:
- — vektor variabel kendali (keputusan) yang perlu ditentukan.
- — himpunan solusi yang layak untuk , yang didefinisikan oleh batasan deterministik.
- — vektor acak yang merepresentasikan parameter tidak pasti dari masalah (misalnya, permintaan, harga, kondisi cuaca).
- — fungsi tujuan yang nilainya bergantung pada keputusan yang diambil maupun realisasi vektor acak .
- — operator ekspektasi matematis yang dihitung berdasarkan distribusi probabilitas vektor .
Prinsip terpenting yang mendasari model stokastik multi-tahap adalah prinsip non-antisipasi (Ingg. non-anticipativity principle). Prinsip ini menyatakan bahwa keputusan yang diambil pada tahap mana pun hanya dapat bergantung pada informasi yang tersedia hingga saat itu, dan tidak dapat "melihat ke masa depan"[2].
Masalah dua tahap dengan hak kompensasi
Model yang paling umum adalah masalah dua tahap dengan hak kompensasi (Ingg. two-stage stochastic program with recourse)[1]. Proses pengambilan keputusan dibagi menjadi dua tahap:
- Tahap pertama: Keputusan "di sini dan sekarang" (here-and-now) diambil — vektor ditentukan. Keputusan ini harus diambil sebelum realisasi spesifik dari vektor acak diketahui.
- Tahap kedua: Setelah peristiwa acak terjadi, keputusan korektif atau kompensasi (recourse decision) — vektor — diambil, yang bertujuan meminimalkan dampak negatif atau memanfaatkan peluang yang muncul akibat kombinasi keputusan tahap pertama dan hasil .
Secara matematis, masalah dua tahap pemrograman linier stokastik dirumuskan sebagai berikut: dengan batasan tahap pertama: . Di sini — fungsi kompensasi (recourse function), yang merupakan nilai optimal dari masalah tahap kedua: di mana — vektor acak yang mencakup parameter dan ; sementara dan — parameter deterministik[2].
Sifat dan teorema utama
- Konveksitas: Salah satu hasil fundamental dari teori ini adalah bahwa untuk masalah dua tahap pemrograman linier stokastik, fungsi kompensasi yang diharapkan merupakan fungsi cembung. Sifat ini sangat penting karena menjamin bahwa masalah tahap pertama secara keseluruhan merupakan masalah pemrograman cembung, yang memiliki metode penyelesaian efisien dan di mana optimum global bertepatan dengan optimum lokal[1].
- Ekuivalen deterministik: Jika vektor acak memiliki sejumlah realisasi (skenario) yang terbatas dengan probabilitas , maka masalah pemrograman stokastik dapat dirumuskan ulang sebagai satu masalah optimasi deterministik besar. Dalam hal ini, ekspektasi matematis digantikan oleh jumlah tertimbang atas semua skenario. Namun, ukuran masalah ini tumbuh secara linier seiring dengan jumlah skenario, yang menyebabkan "kutukan dimensi" dan membuat pendekatan ini tidak dapat diselesaikan secara komputasi untuk jumlah skenario yang besar[2].
Perbandingan dengan optimasi robust
Pemrograman stokastik adalah salah satu dari beberapa pendekatan untuk optimasi dalam kondisi ketidakpastian. Perbedaan utamanya dari optimasi robust terletak pada cara pemodelan ketidakpastian dan kriteria optimalitas[4].
| Kriteria | Optimasi stokastik | Optimasi robust |
|---|---|---|
| Representasi ketidakpastian | Parameter adalah variabel acak dengan distribusi probabilitas yang diketahui | Parameter termasuk dalam himpunan ketidakpastian yang ditentukan, distribusi tidak diperlukan |
| Kriteria optimalitas | Optimasi ekspektasi matematis dari fungsi tujuan | Optimasi dalam skenario terburuk (minimax) |
| Karakter solusi | Kebijakan yang optimal "rata-rata", dapat tidak layak untuk skenario langka | Solusi yang dijamin layak untuk semua realisasi; dapat bersifat konservatif |
Contoh
- Masalah penjual koran (Ingg. newsvendor problem): Masalah manajemen persediaan klasik, di mana penjual harus memutuskan berapa banyak barang yang akan dibeli tanpa mengetahui permintaan masa depan yang pasti. Solusinya menyeimbangkan antara risiko kerugian akibat kelebihan stok dan risiko kehilangan keuntungan akibat kekurangan stok.
- Masalah petani: Seorang petani memutuskan berapa hektar lahan yang akan dialokasikan untuk berbagai tanaman pada luas total tertentu, tanpa mengetahui cuaca masa depan yang mempengaruhi hasil panen. Setelah cuaca diketahui, petani dapat mengambil tindakan korektif (misalnya, menjual kelebihan panen atau membeli kekurangan panen di pasar)[5].
Lihat pula
- Pemrograman matematis
- Riset operasi
- Optimasi robust
- Pemrograman dinamis
- Teori kendali
Catatan
[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]