---
title: "Sztochasztikus programozás"
source: "https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s"
wiki: "systems-analysis.info/int"
article: "Sztochasztikus_programozás"
language: "hu"
categories:
  - "Category:Hungarian"
  - "Category:Operations research"
  - "Category:Probability theory"
revision_id: 7801
wiki_created_at: 2026-09-07T01:07:13Z
wiki_modified_at: 2026-09-07T01:07:13Z
downloaded_at: 2026-09-07T23:20:50Z
---

# Sztochasztikus programozás

**Sztochasztikus programozás** (angol: *stochastic programming*) — a matematikai programozás azon ága, amely optimalizálási feladatok megoldásához dolgoz ki modelleket és módszereket bizonytalansági körülmények között, amikor a modell egyes paraméterei nem ismertek pontosan, hanem ismert vagy becsült valószínűségi eloszlású véletlen változókként vannak megadva<sup>[\[1\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-shapiro2009-1)[\[2\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-birge2011-2)</sup>.

Az determinisztikus feladatokkal ellentétben, ahol minden adat adott konstansnak tekintendő, a sztochasztikus programozás célja olyan megoldás (vagy döntési politika) megtalálása, amely valamely statisztikai értelemben optimális. Ez leggyakrabban a célfüggvény várható értékének minimalizálását vagy maximalizálását jelenti<sup>[\[1\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-shapiro2009-1)</sup>. A kulcsötlet az, hogy olyan döntési politikát keressünk, amely a véletlen paraméterek összes lehetséges realizációján átlagolva a legjobb eredményt adja; ez különösen fontos olyan feladatoknál, ahol a döntéseket ismételten, hasonló körülmények között hozzák (például készletgazdálkodásban vagy energiarendszerek irányításában)<sup>[\[3\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-ru-wiki-sp-3)</sup>.

## A feladat matematikai megfogalmazása

Általános alakban a sztochasztikus programozási feladat a következőképpen fogalmazható meg: $\min\limits_{x \in X}{\mathbb{E}}\lbrack f(x,\xi)\rbrack$ ahol:

- $x$ — a meghatározandó irányítási változók (döntések) vektora.
- $X$ — a $x$ megengedett megoldásainak halmaza, amelyet determinisztikus korlátok határoznak meg.
- $\xi$ — a feladat bizonytalan paramétereit (például keresletet, árakat, időjárási feltételeket) képviselő véletlen vektor.
- $f(x,\xi)$ — a célfüggvény, amelynek értéke mind a $x$ döntéstől, mind a $\xi$ véletlen vektor realizációjától függ.
- ${\mathbb{E}}\lbrack \cdot \rbrack$ — a várható érték operátora, amelyet a $\xi$ vektor valószínűségi eloszlása szerint számítunk.

A többlépéses sztochasztikus modellek alapját képező legfontosabb elv a **nem-anticipativitás elve** (angol: *non-anticipativity principle*). Ez kimondja, hogy bármely szakaszban hozott döntések csak az addig rendelkezésre álló információtól függhetnek, és nem „tekinthetnek a jövőbe"<sup>[\[2\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-birge2011-2)</sup>.

### Kétlépéses feladat kompenzálási joggal

A legelterjedtebb modell a **kétlépéses sztochasztikus feladat kompenzálási joggal** (angol: *two-stage stochastic program with recourse*)<sup>[\[1\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-shapiro2009-1)</sup>. A döntéshozatali folyamat két szakaszra tagolódik:

1.  **Első szakasz:** „Itt és most" (*here-and-now*) döntés születik — meghatározzák a $x$ vektort. Ezt a döntést még azelőtt kell meghozni, mielőtt a $\xi$ véletlen vektor konkrét realizációja ismertté válna.
2.  **Második szakasz:** Miután a véletlen esemény bekövetkezett, kiigazító vagy kompenzáló döntést (*recourse decision*) hoznak — a $y(\xi)$ vektort —, amelynek célja az első szakasz $x$ döntése és a $\xi$ kimenetel együttes hatásából adódó negatív következmények minimalizálása vagy a kedvező lehetőségek kihasználása.

Matematikailag a kétlépéses sztochasztikus lineáris programozási feladat a következőképpen fogalmazható meg: $\min\limits_{x \in {\mathbb{R}}^{n_{1}}}\{ c^{T}x + {\mathbb{E}}_{\xi}\lbrack Q(x,\xi)\rbrack\}$ az első szakasz korlátaival: $Ax = b,x \geq 0$. Itt $Q(x,\xi)$ a **kompenzációs függvény** (*recourse function*), amely a második szakasz feladatának optimális értékét jelenti: $Q(x,\xi) = \min\limits_{y \in {\mathbb{R}}^{n_{2}}}\{ q(\xi)^{T}y \mid T(\xi)x + Wy = h(\xi),y \geq 0\}$ ahol $\xi$ a $q(\xi),T(\xi)$ és $h(\xi)$ paramétereket tartalmazó véletlen vektor; $c,A,b$ és $W$ pedig determinisztikus paraméterek<sup>[\[2\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-birge2011-2)</sup>.

## Kulcstulajdonságok és tételek

- **Konvexitás**: Az elmélet egyik alapvető eredménye, hogy kétlépéses sztochasztikus lineáris programozási feladat esetén a várható kompenzációs függvény $Q(x) = {\mathbb{E}}_{\xi}\lbrack Q(x,\xi)\rbrack$ konvex függvény. Ez a tulajdonság rendkívül jelentős, mivel garantálja, hogy az első szakasz összesített feladata konvex programozási feladat, amelyre hatékony megoldási módszerek léteznek, és a globális optimum egybeesik a lokális optimummal<sup>[\[1\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-shapiro2009-1)</sup>.
- **Determinisztikus ekvivalens**: Ha a $\xi$ véletlen vektornak véges számú lehetséges realizációja (forgatókönyve) $\xi_{1},\ldots,\xi_{K}$ van $p_{1},\ldots,p_{K}$ valószínűségekkel, akkor a sztochasztikus programozási feladat átfogalmazható egyetlen nagy determinisztikus optimalizálási feladatként. Ebben az esetben a várható értéket az összes forgatókönyv szerinti súlyozott összeg helyettesíti. Ez a feladat mérete azonban lineárisan nő a forgatókönyvek számával, ami „átokszerű dimenzionális robbantáshoz" vezet, és nagy számú forgatókönyv esetén számítási szempontból megoldhatatlanná teszi ezt a megközelítést<sup>[\[2\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-birge2011-2)</sup>.

## Összehasonlítás a robusztus optimalizálással

A sztochasztikus programozás egyike a bizonytalansági körülmények közötti optimalizálás több megközelítésének. A robusztus optimalizálástól való legfontosabb különbsége a bizonytalanság modellezési módjában és az optimalitási kritériumban rejlik<sup>[\[4\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-gorissen2015-4)</sup>.

| Kritérium                      | Sztochasztikus optimalizálás                                                                | Robusztus optimalizálás                                                            |
|--------------------------------|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| A bizonytalanság megjelenítése | A paraméterek ismert valószínűségi eloszlású véletlen változók                              | A paraméterek egy adott bizonytalansági halmazba tartoznak, eloszlás nem szükséges |
| Optimalitási kritérium         | A célfüggvény várható értékének optimalizálása                                              | Optimalizálás a legrosszabb forgatókönyv szerint (minimax)                         |
| A megoldás jellege             | Átlagosan optimális politika, amely ritka forgatókönyvek esetén nem feltétlenül megengedett | Minden realizációra garantáltan megengedett megoldás; konzervatív lehet            |

Bizonytalansági körülmények közötti optimalizálási megközelítések összehasonlítása

## Példák

- **Az újságárus feladata** (angol: *newsvendor problem*): Klasszikus készletgazdálkodási feladat, ahol az eladónak el kell döntenie, mekkora mennyiségű árut szerezzen be anélkül, hogy a pontos jövőbeli keresletet ismerné. A megoldás egyensúlyt teremt a feleslegből eredő veszteség kockázata és a hiányból fakadó elmaradt haszon kockázata között.
- **A gazda feladata**: Egy gazda eldönti, hogy összterületén hány holdat osszon ki különböző növényekre anélkül, hogy ismerné a terméseredményt befolyásoló jövőbeli időjárást. Miután az időjárás ismertté válik, a gazda kiigazító intézkedéseket tehet (például feleslegét eladhatja, vagy a hiányzó termést piacon vásárolhatja meg)<sup>[\[5\]](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_note-farmer-problem-uiowa-5)</sup>.

## Lásd még

- Matematikai programozás
- Operációkutatás
- Robusztus optimalizálás
- Dinamikus programozás
- Irányításelmélet

## Megjegyzések

1.  <span id="cite_note-shapiro2009-1">↑ <sup>[1.0](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-shapiro2009_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-shapiro2009_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-shapiro2009_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-shapiro2009_1-3)</sup> Shapiro, A., Dentcheva, D., & Ruszczyński, A. (2009). *Lectures on Stochastic Programming: Modeling and Theory*. Society for Industrial and Applied Mathematics (SIAM).</span>
2.  <span id="cite_note-birge2011-2">↑ <sup>[2.0](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-birge2011_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-birge2011_2-1)</sup> <sup>[2.2](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-birge2011_2-2)</sup> <sup>[2.3](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-birge2011_2-3)</sup> Birge, J. R., & Louveaux, F. (2011). *Introduction to Stochastic Programming* (2nd ed.). Springer Science+Business Media.</span>
3.  <span id="cite_note-ru-wiki-sp-3">[↑](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-ru-wiki-sp_3-0) "Стохастическое программирование". *Википедия*. <a href="https://ru.wikipedia.org/wiki/Стохастическое_программирование" class="external autonumber" rel="nofollow">[1]</a></span>
4.  <span id="cite_note-gorissen2015-4">[↑](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-gorissen2015_4-0) Gorissen, B. L., Yanıkoğlu, İ., & den Hertog, D. (2015). A practical guide to robust optimization. *Omega, 53*, 124-137.</span>
5.  <span id="cite_note-farmer-problem-uiowa-5">[↑](https://systems-analysis.info/int/Sztochasztikus_programoz%C3%A1s#cite_ref-farmer-problem-uiowa_5-0) Bricker, D. L. *SLPwR: Farmer Problem*. University of Iowa. <a href="https://user.engineering.uiowa.edu/~dbricker/stacks_pdf1/slpwr_farmer.pdf" class="external autonumber" rel="nofollow">[2]</a></span>
