• Nem Talált Eredményt

Az LP problémákat megoldó ABS algoritmusok

segítségével

2. Az LP problémákat megoldó ABS algoritmusok

Az ABS módszerosztály, amelyet Abaffy 1979-ben publikált (Abaffy, 1979), azm egyen-letet ésnismeretlent, aholm≤n, tartalmazóAx=brendszer egyxmegoldását határozza megmiterációs lépésben. Az ABS algoritmus három paraméterválasztást tartalmaz. AH1 kezd˝o mátrixot, továbbá minden iterációs lépésben egy-egyzi éswivektort kell meghatá-rozni. Ha a kezd˝o mátrixot az egységmátrixnak, azi éswi vektorokat pedig egy alkalmas egységvektornak választjuk, azazH1=Iészi=wi=ek, akkor az ABS implicit LX (Li-Wei és szerz˝otársai, 1996) alosztályát kapjuk.

Az implicit LX algoritmus lehet˝oséget ad arra, hogy noha az A mátrix sorait sorban vesszük el˝o aHiprojekciós mátrix frissítésekor, a piprojekciós vektort és aHiprojekciós mátrixban szerepl˝o tetsz˝olegeswiparaméter vektort ett˝ol függetlenül határozzuk meg (Aba-ffy és szerz˝otársai, 1989) aszerint, hogy azAmátrixnak melyik oszlopa lép be a bázisba.

Az algoritmus ezen tulajdonsága szükséges az induló bázis keresése és a báziscsere lé-pések során is. Így az itt közölt mindkét algoritmusunk az implicit LX algoritmusra épül, speciálisekválasztások mellett.

A (2) feladatban akezd˝obázist felépít˝o LPalgoritmus során azek vektorok meghatáro-zása igen egyszer˝u, mivel az u1, . . . ,um segédváltozókhoz tartozó egységvektorokat lehet választani. Azi-edik lépésben

ek=em+i. 1. Algoritmus (Kezd˝obázist felépít˝o LP).

(A1) Legyenx1∈Rntetsz˝oleges vektor,x1=0,i=1, ésH1=I, aholI∈Rn,negységmátrix.

(B1) Számítsuk ki az alábbi mennyiségeket si =Hiai, ρi =aTixi−bi. Hasi6=0, akkor menjünk a (C1)-re.

Hasi=0 ésρi=0, akkor legyenxi+1=xi,Hi+1=Hiés ugorjunk az (F1)-re.

(C1) Számítsuk ki a projektor vektort

pi=HiTem+i, aholem+iazm+i-edik egységvektor.

(D1) Módosítsuk a megoldásxi-t

xi+1=xi−αipi, ahol

αi= ri aTi pi

. (E1) Aktualizáljuk aHimátrixot

Hi+1=Hi−sipTi vizs-gálat, ami az egyenletrendszer ellentmondásosságát jelentené. Ez a mi esetünkben nem for-dulhat el˝o, mivel az induló rendszerünk triviális megoldása azxT =

0, ...,0,bT .

3. Megjegyzés. Az algoritmus során kapottHiprojekciós mátrix Hermite típusú, a struktú-rája egyszer˝u esetben a következ˝o:

A mátrixban a lehetséges nem nulla elemeket∗-gal jelöltük (Xia, 1995).

A projekciós mátrix szerkezetének lényeges tulajdonsága továbbá, hogy az üres sorok indexei adják az aktuális báziselemeket, a további sorok indexei pedig a nullteret határozzák meg.

Akezd˝obázist felépít˝o LPalgoritmus végrehajtása után azxm+1változóban a (2) feladat egy megengedhet˝o megoldását kapjuk meg, hiszen az xT =

0, ...,0,bT

vektort állítjuk el˝o, és vele párhuzamosan felépítjük aHm+1mátrixot, ami az induló mátrixa azoptimális megoldást keres˝o LPalgoritmusnak.

Ha a megoldás nem optimális, akkor az optimum megtalálásához szükségünk van bázis-cserékre, azaz alkalmaznunk kell azoptimális megoldást keres˝o LPalgoritmust. Az algo-ritmus kialakításának gondolatmenete a következ˝o. Egyrészt, azi-edik lépésben az összes megoldás felírható az alábbi kifejezéssel (Abaffy, 1979):

x=xi+1−Hi+1T s, aholsegy tetsz˝olegesndimenziós vektor.

Másrészt, a fenti képlet átalakítható az alábbi formába:

x=x−tHTq,

ahol xaz LP feladat egy megengedhet˝o megoldása, t tetsz˝oleges skalár,q tetsz˝oleges n dimenziós vektor,H= (h1, . . . ,hn)T.

Vezessük be a következ˝o jelöléseket. Legyen N={1, ...,n} és Bi ={k1, ...,ki} azon indexek halmaza, amelyeket az i-edik lépésig választottunk,Ni=N\Bi. Jelölje (hNj)k a Hprojekciós mátrixNjnulltér indexekhez tartozó oszlopvektorainakk-adik komponensét, valamintrTj a j-edik lépés után kapott redukált költségfüggvényt. Megmutatható, hogy a redukált költségvektor nem más, mintr=Hm+1c (Spedicato és szerz˝otársai, 1997). Legyen I={k∈N|(hNj)k<0}.

Atparamétert határozzuk meg a következ˝o módon (Xia, 1995):

rN =cThN=cTHTeN=min

cTHTej| j∈Ni (4) t= −xB

eTBHTeN =min

−xk

eTkHTeN| k∈I

(5) A paraméterek meghatározásakor kihasználtuk az implicit LX, így akezd˝obázist felépít˝o LP, és azoptimális megoldást keres˝o LPalgoritmusok során keletkez˝o projekciós mátrixok speciális felépítését (Xia, 1995). A fenti formulák meghatározzák, hogy az optimum kere-sése során a báziscserél˝o algoritmusban azAmátrixnak azN-dik oszlopa lép be a bázisba és aBindex˝u oszlopa lép ki.

Szükségünk van még arra, hogy a báziscsere után hogyan aktualizáljuk a megoldást (Li-Wei és szerz˝otársai, 1996):

xi+1=xi−tHmTeN. (6) Amennyiben az aktuális költségvektor tartalmaz még negatív komponenst, akkor a meg-engedhet˝o megoldásunk még nem optimális (Gáspár, 1977), ezért újabb báziscserére van szükség. Ezt oldjuk meg az alábbi algoritmussal.

2. Algoritmus (Optimális megoldást keres˝o LP).

(A2) Legyenx1∈Rnegy lehetséges, de nem optimális megoldása a (2) feladatnak,H1a megengedhet˝o megoldáshoz tartozó projekciós mátrix,i=1.

(B2) Határozzuk meg a

pi=HiTeN vektort, aholeNegy olyan egységvektor, amelyre a

cTHTeN =min

cTHTej | j∈Ni kifejezés minimális.

(C2) Módosítsuk a megoldásxi-t

xi+1=xi−αipi,

ahol

αi= −xB

eTBHTeN =min

−xk

eTkHTeN | k∈I

.

(D2) Aktualizáljuk aHimátrixot

Hi+1=Hi−(HieB−eB)eTNHi eTNHeB . (E2) HacTHi+1T >0, akkor STOP, azxi+1az optimális megoldás.

Ha cTHi+1T -nek van negatív eleme, akkor legyenHi=Hi+1, xi=xi+1és lépjünk a (B2)-re.

4. Megjegyzés.Az algoritmus stabil abban az értelemben, hogy a nevez˝oben lev˝o skalárok nem válhatnak nullává. Ez az egységvektorok választásából, illetve az LP feladatra adott feltételekb˝ol következik (Xia, 1995).

5. Megjegyzés.Az algoritmus véges lépésben befejez˝odik, minthogy a redukált költség-vektor függvény minden lépésben csökken az LP feltételei mellett (Xia, 1995).

6. Megjegyzés.Mindkét el˝obbi megjegyzésünk állításai következnek a Rózsa Pál könyvé-ben (Rózsa, 1974) tárgyalt, az LP feladatokat Hermite típusú mátrixok segítségével megoldó algoritmusaiból, mivel a miHimátrixunk is ilyen.

Jegyezzük meg, hogy általános típusú normál feladat esetén az optimális megoldás, ha létezik, akkor nem mindig egyértelm˝u. Ilyenkor a kezd˝obázis kialakítása jóval nehezebb (Abaffy és szerz˝otársai, megjelenés alatt).

7. Megjegyzés.Általános esetben el˝ofordulhat, hogy a (4) alatti sorvektor pozitív elemei által meghatározott valamennyijl1,jl2, . . .indexre mindeniν melletteTi

νHejl ≥0. Ebben az esetben a feladatnak nincs korlátos megoldása (Rózsa, 1974).

8. Megjegyzés.Általános esetben, ha az (5) alatti hányados többik1,ik2, . . .indexre veszi fel a minimumát, akkor abvektorik1,ik2, . . .-dik eleme 0, tehát a következ˝o lépések során a−xB/(eTBHTeN)mennyiség zérusnak adódik, ami azt eredményezi, hogy a transzfor-mációval a célfüggvény értéke változatlan marad. Ekkor degenerációról beszélünk (Rózsa, 1974).

9. Megjegyzés.Az algoritmus felhasználja az alábbi tételt: ha azxmegoldás optimális, ak-kor a redukált költségvektor csupa nemnegatív elemb˝ol áll (Spedicato és szerz˝otársai, 1997).

10. Megjegyzés.Végül megjegyezzük, hogy az rN meghatározásakor a minimum maxi-mumra is cserélhet˝o, hiszen többféle projekciós irány választása lehetséges.