Stokastikong programming

From Systems analysis Wiki
Jump to navigation Jump to search

Stokastikong programming (Ingles: stochastic programming) — isang sangay ng matematikong programming na nagbubuo ng mga modelo at pamamaraan para sa paglutas ng mga optimizasyon na gawain sa ilalim ng kawalan ng katiyakan, kung saan ang ilang mga parameter ng modelo ay hindi eksaktong kilala, kundi kinakatawan bilang mga random na dami na may kilala o tinatantiyang mga probabilistikong distribusyon[1][2].

Kaiba sa mga deterministikong gawain, kung saan ang lahat ng datos ay itinuturing na mga ibinigay na konstante, ang stokastikong programming ay naglalayong mahanap ang isang solusyon (o patakaran sa paggawa ng desisyon) na optimal sa ilang estadistikong kahulugan. Kadalasan, nangangahulugan ito ng pagliit o pagpapalaki ng mathematical expectation ng objective function[1]. Ang pangunahing ideya ay mahanap ang naturang patakaran sa paggawa ng desisyon na magiging pinakamabuti "sa karaniwan" sa lahat ng posibleng pagpapatupad ng mga random na parameter, na partikular na may kaugnayan sa mga gawaing kung saan ang mga desisyon ay paulit-ulit na ginagawa sa magkakatulad na kondisyon (halimbawa, sa pamamahala ng imbentaryo o mga sistema ng enerhiya)[3].

Matematikong Pagbabalangkas ng Gawain

Sa pangkalahatang anyo, ang gawain ng stokastikong programming ay maaaring ibalangkas bilang: minxX𝔼[f(x,ξ)] kung saan:

  • x — vector ng mga kontroling variable (desisyon) na kailangang tukuyin.
  • X — ang hanay ng mga katanggap-tanggap na solusyon para sa x, na tinutukoy ng mga deterministikong limitasyon.
  • ξ — random na vector na kumakatawan sa mga hindi tiyak na parameter ng gawain (halimbawa, demand, presyo, kondisyon ng panahon).
  • f(x,ξ) — objective function, na ang halaga ay nakasalalay kapwa sa tinanggap na desisyon x at sa pagpapatupad ng random na vector ξ.
  • 𝔼[] — operator ng mathematical expectation, na kinakalkula ayon sa distribusyon ng probabilidad ng vector ξ.

Ang pinakamahalagang prinsipyo na nagsisilang pundasyon ng multi-stage na mga stokastikong modelo ay ang prinsipyo ng non-anticipativity (Ingles: non-anticipativity principle). Sinasabi nito na ang mga desisyong ginagawa sa anumang yugto ay maaari lamang umasa sa impormasyon na magagamit sa sandaling iyon, at hindi maaaring "sulyapan ang hinaharap"[2].

Dalawang-Yugtong Gawain na may Karapatang Kompensasyon

Ang pinakakaraniwang modelo ay ang dalawang-yugtong gawain na may karapatang kompensasyon (Ingles: two-stage stochastic program with recourse)[1]. Ang proseso ng paggawa ng desisyon ay nahahati sa dalawang yugto:

  1. Unang yugto: Ang desisyon ay ginagawa "dito at ngayon" (here-and-now) — tinutukoy ang vector x. Ang desisyong ito ay dapat gawin bago maging kilala ang tiyak na pagpapatupad ng random na vector ξ.
  2. Ikalawang yugto: Pagkatapos mangyari ang random na kaganapan, isang corrective o compensatory na desisyon (recourse decision) ay ginagawa — vector y(ξ), na naglalayong mabawasan ang mga negatibong kahihinatnan o samantalahin ang mga kanais-nais na pagkakataon na lumabas bilang resulta ng kumbinasyon ng desisyon sa unang yugto x at ng kinalabasan ξ.

Matematikal na ang dalawang-yugtong gawain ng stokastikong linear programming ay binubalangkas tulad ng sumusunod: minxn1{cTx+𝔼ξ[Q(x,ξ)]} sa mga limitasyon ng unang yugto: Ax=b,x0. Dito ang Q(x,ξ)recourse function (recourse function), na kumakatawan sa pinakamainam na halaga ng gawain sa ikalawang yugto: Q(x,ξ)=minyn2{q(ξ)TyT(ξ)x+Wy=h(ξ),y0} kung saan ang ξ — random na vector na kinabibilangan ng mga parameter q(ξ),T(ξ) at h(ξ); at ang c,A,b at W — mga deterministikong parameter[2].

Mga Pangunahing Katangian at Teorema

  • Convexity: Isa sa mga pundamental na resulta ng teorya ay ang para sa dalawang-yugtong gawain ng stokastikong linear programming, ang inaasahang recourse function Q(x)=𝔼ξ[Q(x,ξ)] ay isang convex na function. Ang katangiang ito ay may malaking kahalagahan, dahil ginagarantiyahan nito na ang kabuuang gawain sa unang yugto ay isang gawain ng convex programming, kung saan may mga epektibong pamamaraan ng solusyon at ang global na optimum ay naaayon sa lokal[1].
  • Deterministikong katumbas: Kung ang random na vector ξ ay may limitadong bilang ng posibleng pagpapatupad (senaryo) ξ1,,ξK na may mga probabilidad p1,,pK, ang gawain ng stokastikong programming ay maaaring muling ibalangkas bilang isang malaking deterministikong gawain ng optimizasyon. Sa kasong ito, ang mathematical expectation ay pinapalitan ng may timbangang kabuuan sa lahat ng senaryo. Gayunpaman, ang laki ng gawaing ito ay lumalaki nang linear sa bilang ng mga senaryo, na humahantong sa "sumpa ng dimensyon" at ginagawang hindi mapaglutas sa pagkalkula ang naturang diskarte para sa malaking bilang ng mga senaryo[2].

Paghahambing sa Robust Optimization

Ang stokastikong programming ay isa sa ilang mga diskarte sa optimizasyon sa ilalim ng kawalan ng katiyakan. Ang pangunahing pagkakaiba nito mula sa robust optimization ay nasa paraan ng pagmomolde ng kawalan ng katiyakan at sa pamantayan ng optimalidad[4].

Paghahambing ng mga diskarte sa optimizasyon sa ilalim ng kawalan ng katiyakan
Pamantayan Stokastikong optimizasyon Robust optimization
Representasyon ng kawalan ng katiyakan Ang mga parameter ay mga random na dami na may kilalang probabilistikong distribusyon Ang mga parameter ay kabilang sa isang ibinigay na hanay ng kawalan ng katiyakan; hindi kailangan ang distribusyon
Pamantayan ng optimalidad Optimizasyon ng mathematical expectation ng objective function Optimizasyon sa pinakamasamang senaryo (minimax)
Katangian ng solusyon Patakaran na optimal "sa karaniwan", maaaring hindi katanggap-tanggap para sa mga bihirang senaryo Solusyong garantisadong katanggap-tanggap para sa lahat ng pagpapatupad; maaaring konserbatibo

Mga Halimbawa

  • Gawain ng nagbebenta ng pahayagan (Ingles: newsvendor problem): Isang klasikong gawain sa pamamahala ng imbentaryo, kung saan ang isang nagbebenta ay dapat magdesisyon kung gaano karaming produkto ang bibilhin nang hindi alam ang eksaktong hinaharap na demand. Ang solusyon ay nagbabalanse sa pagitan ng panganib ng pagkalugi mula sa labis na imbentaryo at ng panganib ng pagkawala ng kita mula sa kakulangan ng produkto.
  • Gawain ng magsasaka: Ang isang magsasaka ay nagdedesisyon kung gaano karaming ektarya ng lupa ang ilalaan sa iba't ibang pananim sa kabuuang lugar, nang hindi alam ang hinaharap na panahon na nakakaimpluwensya sa ani. Pagkatapos maging kilala ang panahon, ang magsasaka ay maaaring gumawa ng mga corrective na aksyon (halimbawa, ibenta ang labis o bilhin ang nawawalang pananim sa merkado)[5].

Tingnan Din

  • Matematikong programming
  • Pananaliksik ng operasyon
  • Robust optimization
  • Dynamic programming
  • Teorya ng kontrol

Mga Tala

[1] [2] [3] [4] [5] </references>

  1. 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. 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. 3.0 3.1 "Стохастическое программирование". Википедия. [1]
  4. 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. 5.0 5.1 Bricker, D. L. SLPwR: Farmer Problem. University of Iowa. [2]