You are on page 1of 7

Alkalmazott matematikus MSc

Operációkutatás szakirány
Sztochasztikus programozás, BMETE93MM05

3. Előadás

A legfontosabb sztochasztikus programozási modellek


áttekintése

Sztochasztikus programozási probléma a gyakorlatban úgy merül fel, hogy egy determi-
nisztikus optimalizálási modell esetén kiderül, hogy benne egyes paraméterek a véletlen-
től függnek, valószínűségi változók. Az így keletkező feladattal kapcsolatban két vizsgá-
lódási lehetőségünk is van. Az egyik, hogy a véletlentől függő feladattal kapcsolatban
bizonyos valószínűségelméleti szempontból fontos jellemzőket próbálunk meghatározni,
a másik hogy újabb, a véletlen hatásokat is figyelembe vevő döntési modelleket fogal-
mazunk meg. Az előbbi esetben eloszlás problémával, az utóbbi esetben pedig döntési
problémával állunk szemben.

Eloszlás problémák

Tekintsük például a jól ismert szállítási problémát a következő alakban:


Pn
xij ≤ ai , i = 1, . . . , m,
j=1
Pm
xij = bj , j = 1, . . . , n,
i=1

xij ≥ 0, i = 1, . . . , m, j = 1, . . . , n,
m P
P n
cij xij → min
i=1 j=1

Az a1 , . . . , am számok jelentsék az egyes telephelyeken lévő, elszállítandó árúmennyisé-


geket, a b1 , . . . , bn számok jelentsék az egyes felvevőhelyeken erre az árúfélére jelentkező

1
igények mennyiségeit. A cij , i = 1, . . . , m; j = 1, . . . , n számok pedig jelentsék egységnyi
árúnak az i-edik telephelyről j-edik felvevőhelyre történő elszállításának a költségét.

A konkrét szállítási feladat vizsgalatakor kiderülhet, hogy a szállítási egységköltségek


véletlen hatásoknak vannak kitéve, például amiatt, hogy a magas vizállás ellehetetleníti
az olcsó folyami szállítást, vagy hófúvás esetén bizonyos útszakaszok járhatatlanok le-
hetnek, mikoris csak kerülővel, jóval hosszabb útvonalon és ezért drágábban történhet
meg a szállítás. Ekkor megtehetjük azt, hogy a szállítási feladatot sokszor egymásután
megoldjuk azonos körülmények között, de úgy, hogy a cij valószínűségi változók a vé-
letlentől függően esetről esetre más értékeket vesznek fel. Tegyük fel, hogy a gyakorlati
alkalmazás során, a konkrét szállításokról meghozandó döntésünk előtt a cij valószínűségi
változók konkrét, realizálódott értékei számunkra ismertté válnak. Ekkor a szállítási terv
minden esetben történő, esetleg költséges átszervezése helyett adódik az a lehetőségünk,
hogy megnézzük azt, hogy az előzőleg éppen alkalmazott szállítási terv szerint mennyi
lenne a szállítási összköltség és mindaddig alkalmazzuk ezt a szállítási tervet, ameddig
ez az összköltség nem haladja meg szignifikánsan a véletlen hatások melletti optimális
célfüggvényérték várható értékét.

Büntetéses döntési probléma

Tekintsük kiindulásul ugyanazt a szállítási problémát, mint az előbb, de most azt


tegyük fel, hogy a b1 , . . . , bn igények függnek a véletlentől, azaz valószínűségi változók.
Tegyük fel azt is, hogy ezeknek a valószínűségi változóknak az éppen realizálódott értékei
csak a szállítás megtörténte után válnak ismertté, vagy akár azt, hogy valójában csak
a szállítás megtörténte után realizálódnak az értékei. Ilyenkor a következő, úgynevezett
büntetéses döntési problémát érdemes megfogalmazni.

Adott xij , i = 1, . . . , m; j = 1, . . . , n szállítási terv esetén megbüntetjük a


m
X
xij − bj > 0
i=1

és a
m
X
xik − bk < 0
i=1

eltéréseket is, mégpedig az eltéréssel arányos mértékben. Legyenek q+ −


j , illetve qk ezek az

2
arányossági tényezők, a döntési probléma pedig, amely alapján az xij , i = 1, . . . , m; j =
1, . . . , n szállítási tervet meghatározzuk:

n
P
xij ≤ ai , i = 1, . . . , m,
j=1

xij ≥ 0, i = 1, . . . , m, j = 1, . . . , n,
 
Pm Pn
cij xij + E(µ) → min,
i=1 j=1

ahol E(µ) a büntetések összegének a várható értéke, amely függ xij , i = 1, . . . , m; j =


1, . . . , n szállítási tervtől:
m
P
xij
i=1
Z ! Z
∞ !
X m
X X m
X
E(µ) = q+
j xij − z dFj (z) + q−
k z− xik dFk (z).
j −∞ i=1 k m
P i=1
xik
i=1

Az így megfogalmazott döntési problémát nevezzük büntetéses sztochasztikus programo-


zási problémának.

Valószínűséggel korlátozott sztochasztikus programozási feladatok

Tekintsük most a determinisztikus alap feladatot az alábbi igen általános formában:

gi (x, ξ) ≥ 0, i = 1, . . . , m
hi (x) ≥ 0, i = 1, . . . , M
f(x) → min

Ha ebben a feladatban a ξ valószínűségi vektorváltozó, akkor a fenti formában értel-


metlenné váló első feltételsort két különböző módon is értelmessé tehetjük:

P(gi (x, ξ) ≥ 0) ≥ pi , i = 1, . . . , m
hi (x) ≥ 0, i = 1, . . . , M
f(x) → min

illetve
P(gi (x, ξ) ≥ 0, i = 1, . . . , m) ≥ p
hi (x) ≥ 0, i = 1, . . . , M
f(x) → min

3
Az első feladatot egyedi valószínűségi korlátos sztochasztikus programozási feladatnak,
míg a másodikat együttes valószínűségi korlátos sztochasztikus programozási feladatnak
nevezzük. A kettő közt alapvetően az a különbség, hogy az egyedi valószínűségi kor-
látokat nehéz, sőt lehetetlen úgy megválasztani, hogy a megkövetelt egyenlőtlenségek
mindegyike egyszerre adott valószínűséggel teljesüljön. Ehhez ugyanis figyelembe kellene
vennünk a ξ valószínűségi vektorváltozó komponensei közti sztochasztikus kapcsolatokat,
melyeket azonban az egyváltozós peremeloszlások nem tartalmaznak. Másik probléma,
hogy ha a ξ valószínűségi vektorváltozó komponenseit függetlennek tételezhetnénk fel,
akkor is túl magas egyedi valószínűségeket kellene előírni ahhoz, hogy az együttes be-
következés valószínűsége reális szintet érjen el. Az együttes valószínűségi korlát előírása
esetén viszont azzal a problémával szembesülünk, hogy a ξ valószínűségi vektorváltozó
együttes valószínűségeloszlását leíró együttes eloszlásfüggvényről kell valamiféle konkávi-
tási tulajdonságot bizonyítani tudni, illetve numerikusan hatékonyan kellene számítani
tudni a vele kapcsolatos valószínűségeket. Megjegyezzük, hogy a determinisztikus alap
modell felírásában gyakran használjuk a speciális

gi (x, y) = gi (x) − yi , i = 1, . . . , m

alakot, mikoris a valószínűséggel korlátozott feladatok a következő egyszerűbb alakot


öltik:
P(gi (x) ≥ ξi ) ≥ pi , i = 1, . . . , m
hi (x) ≥ 0, i = 1, . . . , M
f(x) → min
illetve
P(gi (x) ≥ ξi , i = 1, . . . , m) ≥ p
hi (x) ≥ 0, i = 1, . . . , M
f(x) → min
Ha ezekben a feladatokban az

yi = gi (x), i = 1, . . . , m

egyenlőségekkel bevezetjük az új yi változókat, akkor a valószínűségi korlát előírások


formálisan is a ξ valószínűségi vektorváltozó komponenseinek az egyváltozós Fi (yi ), i =

4
1, . . . , m peremeloszlásfüggvényeire, illetve azok F(y1 , . . . , ym ) együttes eloszlásfüggvé-
nyére vonatkoznak.

Kétlépcsős sztochasztikus programozási feladatok

Induljunk most ki az alábbi determinisztuikus alapfeladatból:

Ax = b
Tx = ξ
x≥0
c′ x → min

Ha ebben a feladatban ξ valószínűségi vektorváltozó, akkor új döntési feladatot kell


megfogalmazni. Próbáljunk meg úgy eljárni, hogy először a ξ valószínűségi vektorváltozó
realizálódó értékének az ismerete nélkül döntsünk x felől, majd miután megfigyeltük a ξ
valószínűségi vektorváltozó realizálódó értékét, másodszor próbáljuk meg egy pótlólagos
döntési feladat megoldásával korrigálni a T x és ξ komponensei között elkerülhetetlenül
fellépő eltéréseket (ekkor természetesen már mind az x, mind a ξ vektor komponensei
rögzített értékűek). Az első döntési feladatot első lépcső feladatnak, míg a másodikat
második lépcső feladatnak fogjuk nevezni. Az első lépcső feladat célja nyilván az kell,
hogy legyen, hogy olyan x-et határozzon meg, amihez képest bármely később realizálódó
ξ érték mellett lehet majd alkalmas kiigazítást találni és amelyre nem csak az eredeti
c′ x célfüggvény, hanem a szükségessé váló kiigazítások várható költsége és az eredeti cél-
függvény együttesen lesz minimális értékű. A második lépcső feladata pedig egyszerűen
csak annyi lesz, hogy az első lépcsőben meghatározott x-ből adódó T x és a realizálódó ξ
közötti eltérést egy pótlólagos technológiával a lehető leggazdaságosabban korrigálja. A
második lépcső feladata tehát új döntési változók olyan y vektorának a meghatározása,
amelyre
Wy = ξ − T x
y≥0
q′ y → min,
ahol x és ξ rögzített értékűek.

Visszatérve az első lépcső feladatának pontos megfogalmazásához, annak az a célja,

5
hogy olyan x vektort határozzon meg, amelyre

Ax = b, x ≥ 0

és amelyre

∀ξ ∈ X vektorhoz található olyan y ≥ 0, hogy Wy = ξ − T x,

ahol X a ξ valószínűségi vektorváltozó valamely variációs halmaza, azaz olyan halmaz,


amelyre
P(ξ ∈ X) = 1.

Jelölje D az ilyen x vektorok halmazát. Ekkor az első lépcső feladata

x∈D

  
c′ x + E  min q′ y → min
Wy=ξ−T x
y≥0

A kétlépcsős sztochasztikus programozási feladat gyakorlati alkalmazásakor tehát úgy


járunk el, hogy először megoldjuk az első lépcső feladatát, kapunk egy x vektort, megfi-
gyeljük a ξ realizálódó értékét és ezután megoldjuk az ezekkel felállított második lépcső
feladatot.

Speciális esetként tekintsük azt, amikor a pótlólagos korrekció "technológia mátrixa"


W = (E, −E) alakú, ahol E egységmátrix. Particionáljuk az y és q vektorokat is ennek
megfelelően y+ , y− illetve q+ , q− részekre. A második lépcső feladata ekkor a következő
speciális alakú lesz:
Ey+ − Ey− = ξ − T x
y+ ≥ 0, y− ≥ 0
q+′ y+ + q−′ y− → min .
Mivel az E és −E oszlopai egymás (−1)-szeresei, következik, hogy ha y+
i egy bázismegol-

dásban báziskomponens, akkor y−


i nem lehet az, és fordítva. Ez tömören annyit jelent,

hogy
X
y+ −
i yi = 0.
i

6
Mivel pedig az y+ , y− vektorok komponensei nemnegatívak, azért a második lépcső
feladat egyedüli megengedett, és így optimális bázismegoldásának a komponensei:

 ξ − T x, ha ξ − T x > 0,
+ i i i i
yi =
 0, egyébként,

 T x − ξ , ha T x − ξ > 0,
− i i i i
yi =
 0, egyébként,

ahol Ti a T mátrix i-edik sorából álló sorvektort jelenti. Megjegyezzük, hogy mivel a
második lépcső feladatának ez tetszőleges x és ξ mellett megengedett és optimális meg-
oldása, azért az első lépcső megengedett megoldásainak a halmaza most egyszerűen csak
az Ax = b, x ≥ 0 feltételeknek eleget tevő x vektorok halmaza. A feladat célfüggvényé-
ben pedig a következő additív tag jelenik meg:
 
P P − −
E  min q′ y = E( q+ y
i i
+
+ qi yi )
Wy=ξ−T x i i
y≥0
P R
∞ P TR
ix
= q+
i (z − Ti x)dFi (z) + q−
i (Ti x − z)dFi (z).
i Ti x i −∞

Az első lépcső feladata tehát a következő lesz:

Ax = b
x≥0
 
P R
∞ P TR
ix
c′ x + q+
i (z − Ti x)dFi (z) + q−
i (Ti x − z)dFi (z) → min
i Ti x i −∞

Végülis a gyakorlatban csupán az első lépcső feladatát kell megoldani, mivel a második
lépcső feladatának a megoldása a ξ realizálódott értékének az ismeretében egyszerűen
csak az y+ −
i és yi számok adott képletek szerinti meghatározását jelenti. Az első lépcső

feladata pedig nem egyéb, mint egy büntetéses modell megoldandó feladata. Tehát a
kétlépcsős sztochasztikus programozási feladatnak ez a speciális esete nem más, mint a
büntetéses sztochasztikus programozási feladat.

You might also like