10. Előadás: A sztochasztikus programozás alap modelljei I. 1. A pétervári probléma (Daniel Bernoulli, 1738) D. Bernoulli a Pétervári Akadémia folyóiratában 1738-ban közölt egy dolgozatot a következő címmel: A kockázat mérésére egy új elmélet kifejtése. Ebben a dolgozatban az emberek paradox viselkedésére keresi a magyarázatot, mikor azoknak kockázat vállalásáról kell dönteniük. A dolgozatban leírt probléma a következő: Péter egy szabályos pénzérmét dobál és ezt addig folytatja, amíg először fej nem lesz a dobás eredménye. Megegyezik Pállal, hogy ad neki egy dukátot, ha a legelső dobásra fej lesz az eredmény, két dukátot, ha a második dobásra, négyet, ha a harmadikra, nyolcat, ha a negyedikre és így tovább, azaz minden egyes további dobás megkétszerezi azt az összeget, amit fizetnie kell. Tegyük fel, hogy meg kívánjuk határozni Pál várható nyereségét. A probléma megoldása ilyen formában igen egyszerű, a nyereség várható értéke végtelen, hiszen, ha ξ jelöli véletlenszerűen kifizetésre kerülő nyereségösszeget, mint valószínűségi változót, akkor ez nyilván az 1,2,4,8,...,2 i 1,... értékeket rendre 1 2, 1 4, 1 8, 1 2 i,... valószínűségekkel veszi fel, ahol i vel a nyereményösszeg kifizetéséig bekövetkező pénzérme feldobások számát jelöltük. Így a várható értékre M(ξ) = 1 i=1 2 i 1 = 1 2 i i=1 =. 2 A játék tehát végtelen várható nyereménnyel kecsegtet Pál számára. A játékkal kapcsolatban azonban Pál mérlegelése másjellegű. Nyilván Péter csak egy bizonyos Pál által előre megfizetendő pénzösszeg ellenében hajlandó a számra végtelen várható veszteséget jelentő játékot elkezdeni. A kérdés tehát az, hogy mekkora pénzösszeget legyen hajlandó Pál kifizetni Péternek, hogy lejátsszák ezt a játékot? Ugyanezt Nicholas Bernoulli, Daniel unokatestvére 1713-ban úgy fogalmazta meg, hogy arra kért magyarázatot, hogy bár Pál várható nyeresége végtelen nagy, mégis miért van az, hogy egyetlen gondolkodó ember sem vásárolná meg az ő nyerési esélyét 20 dukátért? A probléma megoldására Daniel Bernoulli bevezette a hasznosság (utility) fogalmát. Azt javasolta, hogy egy valaminek az értékét ne az árával, hanem sokkal inkább a hasz- 1
t 1000 Ft kezd ke mellett a nyeremény hasznossága 800 700 600 500 400 300 200 100 0 0 5000 10000 15000 20000 25000 nyeremény (a) 1. ábra. Rögzített α = 1000 kezdőtőke mellett a hasznosság az a nyeremény függvényében nosságával mérjük. Egy bizonyos pénzösszeget tekintve azonban, annak a hasznossága más kell hogy legyen egy szegény és más egy gazdag ember számára. Ha például valakinek kezdetben α mennyiségű pénze van, és nyer a mennyiségű pénzt hozzá, akkor ennek a nyereségnek az értékét helyesebb nem a val magával, hanem a u = bln α+a α függvénnyel, az úgynevezett hasznossági függvénnyel mérni, ahol b egy pozitív állandó. Az u hasznosság tehát tekinthető úgyis, mint rögzített α kezdőtőke mellett az a nyeremény függvénye, illetve úgyis, mint rögzített a nyeremény mellett az α kezdőtőke függvénye. Ezt a két szemléletet az alábbi ábrák mutatják, ahol mindkét esetben a b = 200 értéket használtuk: Ekkor Pál számára α kezdőpénz várható hasznossága (Karl Menger 1934-ben Bernoulli dolgozatára írt lábjegyzete szerint): b α+1 ln 2 α + b α+2 ln 4 α + + b 2 α [ ] = bln (α+1) 1 1 2 (α+2) 4 (α+2 n 1 ) 1 2 n n ln α+2n 1 + = blnα. Pálnak ezért tehát azt kell megvizsgálnia, hogy mekkora D nyereségű játék hozná azonos α kezdőpénzre ugyanezt a hasznosságot, azaz [ ] bln (α+1) 1 1 2 (α+2) 4 (α+2 n 1 ) 1 2 n blnα = bln α+d α 2
1000 Ft nyeremény hasznossága 1000 900 800 700 600 500 400 300 200 100 0 0 5000 10000 15000 20000 25000 kezd pénz forintban (alfa) 2. ábra. Rögzített a = 1000 nyeremény mellett a hasznosság az α kezdőtőke függvényében (α+2 n 1 ) 1 2 n = α+d n=1 D = (α+2 n 1 ) 1 n=1 2 n α A fenti összefüggés α növekvő értékeihez az alábbi D értékeket rendeli: α D 0 2.000 1 2.507 10 3.043 100 4.389 1000 5.972 100.000 9.268 10.000.000 11.773.. Ebből látható, hogy valóban hatalmas vagyon kellene ahhoz, hogy valakinek Pál, egyébként végtelen várható nyereséggel kecsegtető, nyerési esélyét érdemes legyen 20 dukátért megvenni. 3
Megjegyezzük, hogy a kockázat fogalmát is be szokás vezetni, mint a hasznosság mínusz egyszeresét. Bernoulli volt tehát, aki azt javasolta, hogy valaminek az értékét a hasznosságával mérjük. A Bernoulli elv azonban ma már ennél jóval többet jelent a különböző, sztochasztikus rendszerekkel foglalkozó tudományokban. Nem csak megszerkesztenek egy, a várható hasznosságot mérő függvényt, hanem azt, mint bizonyos döntési változók függvényét tekintik és megpróbálják ezen döntési változók értékét úgy beállítani, hogy az maximalizálja annak az értékét (illetve minimalizálja a kockázat értékét). Erre szolgáltat jó példát a következő, klasszikus döntési modell. 2. Holland gátmagasítási probléma (van Dantzig, 1956) Tekintsünk egy gát által védett területet, melynél a védőgát aktuális magasságát jelölje H 0. Meg kell határozni egy olyan új, H-val jelölt gát magasságot, amellyel a továbbiakban védeni szeretnénk a területet. Jelölje x azt a mennyiséget, amennyivel a gátat magasítani kell: x = H H 0. Ha η jelöli a tenger ingadozó, tehát véletlentől függő szintjét, akkor mindaddig nem lesz veszteségünk, ameddig ez H-nál kisebb. Ha azonban η > H, akkor veszteségünk lesz, amely teljes nagyságát jelölje V. Tegyük fel, hogy statisztikai megfigyelésekből ismerjük a tengerszint (diszkrét) valószínűség eloszlását és ebből tudjuk, hogy egy adott h magasság meghaladásának a valószínűsége: P(η > h) = p 0 e α(h H0), ahol p 0 = e αh 0, a H 0 szint meghaladásának a valószínűsége, α pedig pozitív állandó. Legyen I = I(x) az x nagyságú gátmagasítás teljes költsége, amely a következőképpen írható fel: 0, ha x = 0 I = I 0 +kx, ha x > 0, ahol I 0,k pozitív állandók. I 0 -t a gátmagasítás fix költségének, kx-et pedig a magasítás mértékével arányos változó költségnek is nevezik. Így tehát a gátmagasítás összes 4
költségének várható jelenkori értéke: I(x)+P(η > H)V j=1 (1+0,01δ) j I(x)+P(η > H)V 100 δ. Itt δ a változatlannak feltételezett kamat százalék, valamint a bevezetett jelöléseinkkel P(η > H) = p 0 e αx. Ezt a függvényt kell tehát minimalizálnunk. Használjuk erre a függvény közelítő kifejezését és tegyük annak az x szerinti deriváltját nullával egyenlővé, ekkor k αp 0 e αx100v δ δk 100p 0 Vα = e αx, 100p 0 Vα δk = e αx, = 0, x = 1 α ln 100p 0Vα. δk Vegyük észre, hogy ebben az optimalizálási feladatban az x döntési változónkra nem volt más korlátunk, mint hogy nemnegatív az értéke. Egy másik, hasonlóan egyszerű döntési probléma a következő. 3. Az újságárus probléma Tekintsünk egy újságárust, aki 150 Ft-ért vásárolja a lapkiadótól az újságot és 180 Ft-ért adja azt el. Tegyük fel, hogy az el nem adott újságokat nem veszik tőle vissza. Az eladható újságok száma nyilvánvalóan véletlenszerű, azaz valószínűségi változó, melyet jelöljön ξ. Jelölje továbbá x az újságárus által a lapkiadótól megvásárolt újságok számát, ezt tekinthetjük a feladat döntési változójának, amelynek az értékét kell úgy meghatározni, hogy az újságárus várható kára minimális, vagy másképpen, várható haszna maximális legyen. Az újságárust mind a ξ > x, mind a ξ < x esetben kár éri, hiszen az előbbi esetben nem tudja realizálni az eladott újságok példányonkénti 30 Ft-os hasznát, míg az utóbbi esetben a nyakán marad sok eladatlan újság, melyekért példányonként 150 Ft-ot kifizetett. Ez a kár is a ξ-n keresztül függ a véletlentől, azaz valószínűségi változó, melyet 5
jelöljön µ: µ = (ξ x)30, ha x ξ (x ξ)150, ha x ξ. Tegyük fel, hogy az újságárus korábbi tapasztalataiból ismeri az újság iránti ξ véletlen kereslet valószínűség eloszlását: P(ξ < z) = F(z). Tegyük fel továbbá, hogy létezik az eloszlás f(z) = F + (z) sűrűségfüggvénye, valamint M(ξ) = zf(z)dz várható értéke, mely utóbbi véges. Definiáljuk a ψ(z) függvényt úgy, hogy 30(z x), ha x z ψ(z) = 150(x z), ha x z. Ekkor nyilván µ = ψ(ξ) és ezzel az újságárus várható kára a következőképpen fejezhető ki: M(µ) = M(ψ(ξ)) = + ψ(z)f(z)dz. Az újságárusnak a fenti képlettel adott várható kárát célszerű minimalizálnia. Ez a mennyiség a ψ függvényen keresztül függ az x döntési változótól, hogy ez jobban látható legyen, és majd tudjuk az x szerinti deriváltat nullával egyenlővé tenni, végezzük el ezért az alábbi átalakításokat: M(µ) = + = ψ(z)f(z)dz = x x 150(x z)f(z)dz + 150(x z)f(z)dz + + x + 30(z x)f(z)dz x 30(z x)f(z)dz = x 30(z x)f(z)dz = x = 150 (x z)f(z)dz +30 (x z)f(z)dz +30[M(ξ) x] = [ ] x = (150+30) xf(x) zf(z)dz +30[M(ξ) x]. Ebből azt kapjuk, hogy dm(µ) dx = 180[F(x)+xf(x) xf(x)] 30 = 0 F(x) = 30 180 = 1 6 6
1,2 1,0 0,8 0,6 0,4 0,2 0,0 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 3. ábra. A (40, 100) intervallumon egyenletes eloszlású ξ valószínűségi változó eloszlásfüggvénye ( ) 1 x = F 1. 6 Ha például ξ egyenletes eloszlású a (40, 100) intervallumon, akkor F(x) grafikonját a 3. ábra mutatja. Ebből könnyen leolvasható az x = F 1( 1 6) = 50 érték. Ez jelenti tehát azt a lapkiadótól felveendő újság példányszámot, amely mellett az újságárust várhatóan a lehető legkisebb kár fogja érni. Ha például az újság eladási ára 200 Ft lenne, akkor (ξ x)50, ha x ξ µ = (x ξ)150, ha x ξ F(x) = 50 200 = 1 ( ) 4 1 x = F 1 = 55. 4 lenne az az újság példányszám, amely mellett az újságárust várhatóan a lehető legkisebb kár éri. Ugyanez a probléma vizsgálható nem a költségek, hanem a bevételek szemszögéből is. Legyen most ν az x-től és ξ-től függő véletlen bevétel, amelyre 30x, ha x ξ ν = 180min(x,ξ) 150x = 180ξ 150x, ha x ξ 30(x ξ)+30ξ, ha x ξ = 150(ξ x)+30ξ, ha x ξ 7
Ebből ν = 30(ξ x) 30ξ, ha x ξ 150(x ξ) 30ξ, ha x ξ azaz leolvasható a ν és a µ valószínűségi változók között fennálló ν = µ 30ξ, összefüggés. Ugyanez a várható értékeikre: M( ν) = M(µ) 30M(ξ), ahol 30M(ξ) az x döntési változótól független, konstans érték és emiatt max M(ν) = min M( ν) ugyanarra az x döntési változó értékre következik be, mint amelyikre minm(µ). 4. A büntetéses sztochasztikus programozási modellek alaptípusa Az újságárus probléma speciális esete az úgynevezett büntetéses sztochasztikus programozási feladat típusnak. Tekintsük az alábbi általános determinisztikus alapfeladatot: g i (x) β i,i = 1,...,m h j (x) 0,j = 1,...,M minf(x) Tegyük fel, hogy ez egy konvex programozási feladat, azaz a g i,i = 1,...,m és a h j,j = 1,...,M függvények konkávok, míg az f függvény konvex, valamint minden szereplő függvény kétszer folytonosan differenciálható. Ha megállapítjuk, hogy a β i,i = 1,...,m paraméterek a véletlen től függnek, azaz valószínűségi változók, akkor képezzük a következő valószínűségi változókat: β i g i (x), ha β i g i (x) > 0, µ i = 0, ha β i g i (x) 0, i = 1,...,m, valamint legyen µ = m q i µ i, i=1 8
ahol q 1,...,q m rögzített nem negatív számok, melyeket büntető konstansoknak nevezünk. Ekkor, ha a µ valószínűségi változó várható értékét hozzáadjuk a minimalizálandó f célfüggvényhez, akkor mintegy megbüntetjük a g i (x) β i,i = 1,...,m feltételek véletlen nem teljesüléseinek a várható értékét, azért ezeket a különben is értelmetlenné váló feltételeket elhagyhatjuk a feladatból: h j (x) 0,j = 1,...,M min{f(x)+e(µ)} Könnyen látható, hogy az E(µ) várható érték a β i valószínűségi változó f i (z) sűrűségfüggvényének az ismeretében a következőképpen írható fel: E(µ) = m q i i=1 g i (x) (z g i (x))f i (z)dz. Ezért a büntetéses sztochasztikus programozási modellek matematikai kezelhetőségének a fő problémája a k i (u) = integrálok tulajdonságán múlik. u (z u)f i (z)dz, i = 1,...,m Minthogy ezekről elemi eszközökkel be lehet látni, hogy az u változóban nemnövekvők, konvexek és folytonosan differenciálhatók, azért egyszerűen következik, hogy E(µ) az x függvényében az egész n dimenziós térben folytonosan differenciálható, és konvex, azaz ennek a függvénynek a minimalizálandó célfüggvényhez történő hozzáadása nem változtatja meg a nemlineáris programozási feladat konvexségét. 5. A valószínűséggel korlátozott sztochasztikus programozási modellek típusai Tekintsük megint a g i (x) β i,i = 1,...,m h j (x) 0,j = 1,...,M minf(x) determinisztikus alapfeladatot. Miután megállapítjuk, hogy a β 1,...,β m paraméterek valószínűségi változók, nem hagyjuk el az értelmetlenné vált g i (x) β i,i = 1,...,m feltételeket, hanem külön külön mindegyik teljesülését előírt valószínűséggel követeljük 9
meg: P(g i (x) β i ) p i, i = 1,...,m h j (x) 0,j = 1,...,M minf(x) Az így keletkező optimalizálási feladatot egyedi valószínűségekkel korlátozott sztochasztikus programozási feladatnak nevezzük. Ennek előnye a könnyű kezelhetőség, hiszen minden valószínűségi korlát felírható a β i valószínűségi változók eloszlásfüggvényével, illetve ha létezik azoknak az inverze, akkor gyakorlatilag a determinisztikus alapfeladattal azonos nehézségű nemlineáris programozási feladatot kell csak tudnunk megoldani. Az ilyen modellezés nagy hátránya azonban az, hogy a p i, i = 1,...,m egyedi valószínűségi korlát szinteket túlzottan nagynak kell választani ahhoz, hogy mind az m feltétel egyszerre kellően nagy valószínűséggel teljesüljön. Ha például m = 20 és a β i valószínűségi változók sztochasztikusan függetlenek, akkor 0, 9 es egyedi valószínűségi korlát szintek előírása mellett mind a 20 feltétel együttesen csupán 0, 1216 valószínűséggel fog teljesülni és ez az érték még 0,99 es szintek mellett is csak 0,8179 lesz. Ezen a problémán a következő egyszerű kis változtatással lehet segíteni: h 0 (x) = P(g i (x) β i,i = 1,...,m) p, h j (x) 0,j = 1,...,M minf(x) vagyis egyszerre követeljük meg az összes véletlen feltétel teljesülését az általunk megkívánt p valószínűségi korlát szinttel. Az így keletkező optimalizálási feladatot együttes valószínűséggel korlátozott sztochasztikus programozási feladatnak nevezzük. A változtatás minimálisnak tűnhet, mégis a keletkező nemlineáris programozási feladat matematikai tulajdonságainak a meghatározása külön elméletet igényel. Ezt Prékopa András 1970-ben dolgozta ki és úgy hívjuk, hogy a logkonkáv valószínűségi mértékek elmélete. Ennek segítségével a β i,i = 1,...,m valószínűségi változók együttes valószínűségeloszlásának elég bő családjára igazolni lehet, hogy a fenti nemlineáris programozási feladat továbbra is konvex programozási feladat marad. További problémát jelent azonban a h 0 (x) valószínűségi függvény értékének és gradiensének a numerikus számítása. Erre szimulációs és numerikus integrálási eljárások születtek, melyek a számítógépek fejlődésével 10
egyre nagyobb méretű, együttes valószínűséggel korlátozott sztochasztikus programozási feladatok megoldását teszik lehetővé. Megjegyezzük, hogy elvileg az is elképzelhető, hogy a β i valószínűségi változókat egyszerűen a várható értékükkel helyettesítjük. Ezzel a megoldandó nemlineáris programozási feladat nehézsége nem változik, azonban az így nyerhető optimális megoldásra a β i valószínűségi változókra kimondott feltételek csak nagyon kis valószínűséggel fognak mind teljesülni. A problémát jobban átgondolva arra is van lehetőségünk, hogy a determinisztikus alapfeladatban a β i valószínűségi változókat a várható értékük plusz három szórásukkal helyettesítsük, ami viszont azt fogja eredményezni, hogy ugyan minden egyedi valószínűségi feltétel közel 0, 997 valószínűséggel teljesülni fog, azonban az optimalizálási feladat minimuma nem lesz olyan kicsi, mint amekkora együttes valószínűségi korlát előírása mellett lehetne. Ennek az a könnyen belátható oka, hogy, a fentebb leírt két modell ugyanúgy, mint az egyedi valószínűségekkel korlátozott sztochasztikus programozási feladat, nem képesek a β i valószínűségi változók között fennálló sztochasztikus kapcsolatok figyelembevételére. Erre csupán az együttes valószínűséggel korlátozott sztochasztikus programozási feladat képes és ennek ára a viszonylagosan nagy matematikai és numerikus kiértékelési bonyolultság. 11