• Nem Talált Eredményt

6. SRA a sztochasztikus programozásban 99

6.5. A várható pótlás függvényének kiszámítása Monte Carlo integrálással

6.5.4. A javasolt becslés

Összefoglalva a fentebbieket, valamint a számítógépes tapasztalatokat, a végsőként java-solt (és használt) becslés szimmetrizálást, felező-pontos rétegezést és ortogonalizálást használ. Tehát minden ortonormalizált vektor esetén négy pontot használunk az egy-dimenziós integrálás végrehajtására – ez az n darab vektor által adott irányra összesen 4n darab Q(x,ξ) függvényérték kiszámítását igényli. A javasolt becslés a következő:

Θ7 = 1 N

N

X

j=1

g7(x, uj,U(j)), g7(x, u,U) = 1

n 1 4

n

X

i=1

Q(x, Fn−1(0.5u)Rui) +Q(x,−Fn−1(0.5u)Rui) + (6.32) Q(x, Fn−1(1.0−0.5u)Rui) +Q(x,−Fn−1(1.0−0.5u)Rui).

Egy további lehetőségként említjük a következő becslést. A belső integrálra használjuk a szimmetrizálást és a felezőpontos rétegezést, míg a külső integrálra használjuk az előbb említett O2 eljárást. Ezt a becslést jelölje Θ8, ennek egy adott vektorrendszer és véletlen pont esetére összesen 4n(n − 1)/2 függvénymeghatározásra van szükség. A becslések összehasonlítása szerint ez aΘ8 becslés általában legalább olyan jó volt, mint aΘ7 becslés, de céljaink szempontjából ez túl pontos eredményeket adott (a sok függvénymeghatározás miatt lassú volt), ezért általában a Θ7 becslés használata ajánlható.

6.5.5. Számítógépes eredmények

Becslések hatékonyságát két tényező, a számítási munka és a becslés szórása együttes figyelembevételével kell meghatározni [De 90a]. Mivel a becslésekben a Q(x,ξ) füg-gvényérték meghatározása szerepel (ami egy lineáris programozási feladat megoldását jelenti), és az összes többi számítási munka elhanyagolható ezzel összehasonlítva, ezért a számítási munkát a Q függvényértékek meghatározásának számával mérjük.

A Θi i-edik becslés hatékonyságát a durva módszerre vonatkoztatva számoljuk ki a

szokásos aránnyal:

Effi = D21) D2i)

1 Ni,

ahol Ni a Q függvény kiszámításainak számát mutatja az i-edik becslés esetén (a durva módszernél csak egy darab Q függvényértéket kell kiszámítani), D2i) pedig az i-edik becslés szórásnégyzete. Az Effi arány azt mutatja, hogy ha Ni függvénymeghatározás árán az i-edik becslés egy adott szórású eredményt ad, akkor hányszor kell végrehajtani a durva becslést ahhoz, hogy az eredmények átlaga elérje ugyanazt a szórást.

Minden becslés szórásnégyzete, és így a hatékonysága is függ azxargumentum értékétől.

A számítógépes futások eredményei alapján hax„messze” van a feladat optimális megoldásától, akkor a függvény lineáris, vagy majdnem lineáris, így a szimmetrizálást használó eljárá-sok szórása nagyon kicsi, vagy zéró lesz, a hatékonyság nagyon nagy lesz. Mivel a Q függvény az optimumhoz közel majdnem szimmetrikus szokott lenni, itt általában min-den, a szimmetrizálásnak köszönhető hatékonyság eltűnik. Másrészt mivel a függvény alakjára nézve csak néhány tapasztalatunk van, és nem biztosítja semmi a függvény ilyen általános viselkedését (hiszen ha Q(x,ξ) szimmetrikus x-ben, abból nem következik a ξ-ben való szimmetrikusság), ezért megtartjuk a szimmetrizálást a javasolt becslésben.

A Θ7 becslés másik előnye az, hogy a dekompozíció és az ortogonalizálás miatt a kor-relált komponensű normális eloszlású vektorokra körülbelül ugyanolyan hatékony, mint a független komponensekre.

A legtöbb, kétlépcsős feladatra közölt megoldó algoritmus a folytonos eloszlású ξ valószínűségi vektorváltozót egy (véges tartományra csonkolt) diszkrét eloszlással helyettesíti [BL 97], [May 98]. Két probléma szokott ezzel kapcsolatban felmerülni: a dimenziószám és a korreláltság. Ezt a diszkretizálást erősen korrelált komponensekre, vagy 10-nél ma-gasabb dimenzióban szinte lehetetlen kezelni. Továbbá, a diszkretizált eloszlásban sz-ereplő pontok száma exponenciálisan nő a diszkretizálandó vektor dimenziószámának növekedésével, ha egy adott hibaszintet akarunk elérni. Ha a második lépcsős feladat-ban csak a jobboldali vektor véletlen, akkor a korrelált komponensű ξ vektor független komponensűvé transzformálható – azon az áron, hogy a második lépcső minden egyen-lőtlenségét is transzformálni kell. Ha a második lépcső feladatában szereplő T mátrix rögzített (fixed recourse), akkor ez nem okoz nehézséget, viszont néhány véletlen kompo-nenst is tartalmazó T mátrix esetén ez a véletlen hatás a lineáris transzformáció után az összes első lépcsős változó komponensében megjelenik, ráadásul konvolúciók formájában.

Numerikus eredményeinket, a becslések hatékonyságát egy, Kall és Mayer által megadott, Shapiro és de Mello [SH 98] által közölt numerikus példán szemléltetjük. Ebben a példában csak a jobboldali vektor volt véletlen, eloszlása pedig tízdimenziós normális eloszlású volt (a példa további leírását és megoldását lásd a következő 6.6 szakaszban).

Az optimális megoldáshoz közel az N = 100 mintapontot használó durva módszer esetén a becslés szórásnégyzete D21)|N=100 = (0.09)2 volt. Az ajánlott Θ7 becslést használva N = 3 mintaszámmal a becslés szórásnégyzete D27)|N=3 = (0.03)2 volt – ezt az eredményt 0.1 sec alatt lehetett kiszámítani (ezalatt a 3 ortonormált rendszerből

függetl.,fmin = 15.17 Korrel., %= 0.95, fmin = 14.96 f(x) = 15.17 15.18 15.40 16.30 23.11 74.13 14.97 15.16 17.27 28.74

Eff3 2 1 5 1 ∞ ∞ 1 2 499 ∞

Eff7 6 9 24 3 ∞ ∞ 6 18 43 ∞

Eff8 9 8 8 4 ∞ ∞ 3 3 8 ∞

6.10. táblázat. A Θ378 becslések hatékonyságai, különböző x pontokban, független és korrelált komponensek esetére,fmin optimális célfüggvényérték.

xk,1 f(xk) Hiba(σ) Eff7 Eff8 0.5039 15.1802 ±0.0010 38 8 0.5053 15.1886 ±0.0005 22 7 0.5167 15.1757 ±0.0004 6 4 0.5168 15.1749 ±0.0010 26 6 0.5274 15.1753 ±0.0003 8 15 0.5323 15.1791 ±0.0005 5 4 0.5357 15.1784 ±0.0003 9 7

6.11. táblázat. Hatékonyságok és célfüggvényértékek néhány, az SRA által előállított, optimum közeli pontban, független komponensek esete – az f célfüggvény minimuma 15.1752 volt.

származó pontokat használva 120 lineáris programozási feladatot oldottunk meg).

Azf(x) = c0x+Q(x)első lépcsős célfüggvény értékére Mayer az SLP-IOR programcso-mag segítségével a következő korlátokat tudta megadni: 14.9927 < f(xMAYER)<15.6822.

Az általunk megadottΘ7 becslés használatával egy ennél jóval pontosabb függvényértéket

tudtunk kiszámítani a Mayer által megadott optimális pontban: f(xMAYER)∼15.175542,±0.000026.

Shapiro és de Mello az általuk használt módszer segítségével egy másik optimális pontot határoztak meg, amelyre a Monte Carlo módszerük segítségével kiszámított füg-gvényértéketf(xSHAP−MELLO) = 15.1866-re tették. AΘ7becslés használatával az általuk optimálisnak megadott pont esetén a függvényértékf(xSHAP−MELLO)∼15.175263,±0.000025 [SH 98]. Tehát a Θ7 becslés használata nagyságrendekkel pontosabb eredményt adott, mint az eddig használt módszerek.

Az f(x) függvényértékek után megadott ± mennyiségek most is a függvényérték szórását adják meg, nagy valószínűséggel ennek háromszorosa tekinthető a tényleges hiba egy korlátjának. Az egyszerűség kedvéért mindenhol a szórást adtuk meg, mint a hiba értékét, természetesen ez függ az xargumentumtól.

A számítógépes futások alapján a hatékonyságokkal kapcsolatban azt mondhatjuk, hogy minél kisebb volt a függvényérték, annál kisebbek voltak a hatékonyságok. Így az

alábbiakban különböző pontokra adjuk meg a hatékonyságokat, de többségükben ezek a legrosszabb eseteket tartalmazzák, amikor az xpont közel van az optimális megoldáshoz – a függvényérték pedig közel van a minimális függvényértékhez.

A 6.10 táblázatban néhány tipikus adatot közlünk a hatékonyságra. Az első hat oszlop-ban a független komponensekkel rendelkező véletlen vektort tartalmazó pótló függvény eseteit mutatjuk, az utolsó négy oszlopban pedig a korrelált komponensű véletlen vek-torra mutatunk példákat – itt egy olyan korrelációs mátrixot használtunk, amelyben a korreláció minden változópárra ugyanaz volt: % = 0.95, cij = % ha i 6= j és cii = 1. A

∞ szimbólum a táblázatban azt jelenti, hogy az adott esetben a hatékonyság 1000-nél nagyobb volt, jól mutatva a függvény lineáris, vagy majdnem lineáris viselkedését.

Néhány egyéb esetben tapasztalt hatékonyságot adunk meg a 6.11 táblázatban – ezek a független komponensű véletlen vektorra vonatkoznak. Olyan pontokban számítottuk ki a hatékonyságot, amelyeket az SRA algoritmus 5-10 percnyi munka után adott ki közelítő optimális megoldásokként – ezeket a pontokat csak az első komponensükkel, az xk,1 értékekkel jeleztük a táblázatban. A második oszlopban az itt kiszámított füg-gvényértékeket és a sejtésünk alapján számított szórásukat adtuk meg. Az utolsó két os-zlop tartalmazza aΘ7és aΘ8becsléseknek a durva módszerhez viszonyított hatékonyságát.

A 6.7 szakaszban megadott, futási eredményeket tartalmazó 6.20 táblázat egy 20 di-menziós normális eloszlású vektor használata esetén tapasztalt hatékonyságnövekedést mutatja – a Θ3 becslésről a Θ7 becslésre való áttérés lényegesen gyorsítja az algoritmus futását.