• Nem Talált Eredményt

Véges criss-cross módszer kvadratikus optimalizálásra

In document OPERÁCIÓKUTATÁS No. 5. (Pldal 26-30)

1. A lineáris komplementaritási feladat (LCP) 13

1.3. A legkisebb index criss-cross módszer

1.3.3. Véges criss-cross módszer kvadratikus optimalizálásra

ahol azy, x1, x2 nem-bázisváltozók definíció szerint nullák. (Emlékezzünk rá, hogy a bázisválto-zókhoz az egységmátrix tartozik.)

1.3.3. Véges criss-cross módszer kvadratikus optimalizálásra

Először bemutatjuk a megállás feltételét.

1.9. Definíció. Egy komplementáris táblázatot az LCP esetén végsőnek mondunk, ha az alábbi három struktúra egyikével bír:

⊕... 0 . . . 0 ⊕ . . . ⊕ −

... ⊕ . . . ⊕ 0 . . . 0 −

optimális tábla; primál nem megengedett; duál nem megengedett.

1.13. Feladat. Igazoljuk, hogy az első tábla a KKO optimális megoldásait adja, a második és harmadik tábla pedig rendre a primál és duál megoldhatatlanságát bizonyítja.

Tekintsünk egy KKO feladatot az (1.2), (1.3) és (1.4) szerinti LCP felírásban. Legyen u = (y, x) és v = (¯y,x), mint az előbbiekben is,¯ N = n+ m és vegyük v-t kiinduló bázismegoldásnak. Jelöljetij az aktuális tábla i-edik soránakj-edik elemét. Az algoritmus a következő lépésekből áll:

A legkisebb index criss-cross módszer

Input: Egy komplementáris, de nem feltétlenül megengedett bázis.

(Azui,vi komplementer változók közül pontosan az egyik van a bázisban.)

k= 1

Output: A fenti három végső tábla egyike.

k. lépés: Adott egy komplementáris, biszimmetrikus, negatív sze-midefinit bázistábla.

(a) Ha ui, vi ≥ 0 minden i-re, akkor álljunk meg: az aktu-ális megoldás megoldja az LCP-t, ezáltal a KKO egy optimális megoldásában vagyunk. Egyébként legyen

r = min{i:ui <0 vagy vi <0, i= 1, . . . , N}, ahol feltehetjük, hogy ur <0.

(b) Ha trr <0 (a bázisban ábrázolva ur együtthatója vr-nél negatív), akkor végezzünk el egydiagonális pivotot: a bázisban ur helyébe vr kerül. k ←k+ 1

(c) Ha trr = 0 és

(c1) trj ≥0minden j = 1, . . . , N-re, akkor megállunk, mert vagy a primál vagy a duál feladat nem oldható meg.

(c2) Egyébként legyen s = min{j : trj < 0, j = 1, . . . , N}. Végezzünk el egy cserepivotot: az ur ésvs bázisvekto-rok helyébe us és vr nem-bázisvektorok kerülnek. k ← k+ 1

Az algoritmus helyességének igazolásához vegyük észre, hogy a (c) eset, amelyben3 trr = 0, azt jelenti, hogy az érintett diagonális blokk ur sora nulla, tehát s a bázistábla ferdén szimmetrikus részében van és így azus változó tartozik hozzá, nem pedig vs.

A (c1) esetben az algoritmusur <0mellett megáll és a bázistáblában egy nemnegatív sorunk van. Ez egy végső tábla, azaz ebben az esetben az LCP nem megoldható: vagy a primál, vagy a duál KKO feladat nem megoldható.

Az (a) esetben a végső tábla az LCP egy megoldását adja, ezért mind a primál, mind a duál KKO feladat optimális megoldását megkapjuk.

Láttuk, hogy az algoritmus kétfajta báziscserét használ: diagonális pivotot (ha lehet), vagy cserepivotot (ha diagonális pivot nem lehetséges). Most egy-egy példát adunk a báziscsere két különböző típusára.

3trr>0 azért nem lehet, mertM végig negatív szemidefinit marad, lásd az 1.17 feladatot.

1.10. Példa. (Példa diagonális pivotra) Kissé módosítjuk az 1.8 példát, hogy a következő legyen a kiinduló tábla:

B y x1 x2 y¯ x¯12 d

A jobboldali dvektor harmadik komponense negatív, így ez a tábla nem optimális.

A legkisebb index criss-cross módszer algoritmusának (b) pontja szerint most egydiagonális pivotot kell elvégeznünk, ehhez a tábla megfelelő diagonális pozíciójának (3. sor) nem-bázis részében lévő elemét (-4) vesszük generálóelemnek. Megjegyezzük, hogy nem tudnánk elvégezni ezt a báziscserét, ha ez az elem nulla lenne: akkor egycserepivototkellene elvégeznünk, amit a következő példában fogunk bemutatni.

Ha elvégezzük a báziscserét -4-et használva generálóelemként, ezt az új táblát kapjuk:

B y x1 x2 y¯ x¯12 d

Ezen báziscsere folyamán x¯2 kikerült a bázisból, míg komplementáris változója, x2 került be a helyette. Ez a tábla optimális (a jobboldali vektor pozitív), és a változók optimális értékeix1 = 0 ésx2 = 14.

1.11. Példa. (Példa cserepivotra) Tekintsük a következő KKO feladatot:

min x21 +x22 +x23

A Qmátrix nyilvánvalóan pozitív definit. Így

M =

B y1 y2 x1 x2 x312123 d

A jobboldali vektor első negatív eleme a 2. sorban van. Ha megnézzük az ehhez tartozó diagonális pozíciót a tábla nem-bázis részében, akkor láthatjuk, hogy a diagonális elem nulla, vagyis nem tudunk diagonális pivotot végezni.

Ehelyett a legkisebb index criss-cross módszer (c) lépése szerint cserepivotot kell végeznünk.

Az algoritmus (c) lépését követve megkeressük a tábla 2. sorának nem-bázis részében az első negatív elemet. Ez a táblánkban a −1 tag az (¯y2, x2) helyen. Figyeljük meg, hogy ha ezt a generálóelemet használjuk, akkorx2 lép be a bázisba ésy¯2hagyja el a bázist. Ez azért probléma, mert x2 és y¯2 nem komplementer változók. Az x2 komplementer változója x¯2, és az már bent van a bázisban! Mivel a komplementaritást végig meg akarjuk őrizni, ezért rögtön elvégzünk egy második báziscserét az (¯x2, y2) helyet használva generálóelemként, így x¯2 elhagyja a bázist (és y2 belép), és visszanyertük a komplementaritást.

Összegezve, a legkisebb index criss-cross algoritmus (c2) lépésében dupla báziscserét kell el-végeznünk az(¯y2, x2)és(¯x2, y2)helyeken. Ezek a báziscserék a következő táblákat eredményezik: 1.14. Feladat. Írjuk fel az előző példa duál KKO feladatát és adjuk meg az optimális megoldást a fenti optimális tábla alapján. Ellenőrizzük, hogy az optimumban a dualitásrés nulla.

1.15. Feladat. Oldjuk meg az alábbi KKO feladatokat a legkisebb index criss-cross módszer segítségével:

1.16. Feladat. Oldjuk meg az 1.5 és az 1.6 feladatban szereplő KKO feladatokat a legkisebb index criss-cross módszer felhasználásával.

1.4.

A criss-cross módszer konvergenciája

Mivel csak diagonális és cserepivotot használunk, be lehet bizonyítani, hogy a bázistáb-lázat biszimmetrikus és negatív szemidefinit tulajdonsága az algoritmus során végig meg-marad. A bizonyítást feladatként az olvasóra bízzuk.

1.17. Feladat. Legyen[−M, I]a rendszerünk együtthatómátrixa,M biszimmetrikus. Bizonyít-suk be, hogy a mátrix nem-bázis részének ellentettje bármilyen principális pivot esetén biszim-metrikus. (Vegyük észre, hogy a blokkok méretei változnak.)

Algoritmusunk az LCP komplementáris bázisain át halad, és vagy egy optimális, vagy egy nem megoldható táblánál ér véget, így – mivel csak véges sok különböző bázis létezik – a végesség belátásához csak azt kell bebizonyítani, hogy ciklikusság nem fordulhat elő.

Ennek belátásához közelebbről meg kell vizsgálnunk a táblák tulajdonságait.

In document OPERÁCIÓKUTATÁS No. 5. (Pldal 26-30)