Otthon » 2 Forgalmazási és gyűjtési szezon » Elegendő feltételek a slough egyszerű iterációinak módszerének konvergenciájához. Egyszerű iterációs módszer lineáris egyenletrendszerek megoldására (slough)

Elegendő feltételek a slough egyszerű iterációinak módszerének konvergenciájához. Egyszerű iterációs módszer lineáris egyenletrendszerek megoldására (slough)

A dinamikus programozás (DP) az matematikai berendezés, amelynek célja, hogy javítsa a számítási hatékonyságot egy bizonyos problémacsoport megoldása során matematikai programozás viszonylag kicsi és ezért kevésbé összetett részproblémákra bontva (lebontva). Jellemző erre dinamikus programozás A probléma szakaszos megoldásának megközelítése, amelyek mindegyikéhez egy szabályozott változó tartozik. A különböző szakaszokat összekapcsoló, ismétlődő számítási eljárások összessége biztosítja, hogy az utolsó szakasz elérésekor a probléma egészére elfogadható, optimális megoldás szülessen.

A DP elmélet alapelve az optimalitás elve. Lényegében meghatározza egy probléma lépésről lépésre történő megoldásának eljárását, amely lehetővé teszi a dekompozíciót (ez elfogadhatóbb módja, mint a probléma közvetlen megoldása az eredeti megfogalmazásban) ismétlődő számítási eljárások segítségével.

A dinamikus programozás alapelvei a szokatlanokkal együtt matematikai jelölés gyakran okoznak nehézségeket a matematikai programozás ezen részének tanulmányozása során. Ez különösen vonatkozik azokra, akik újak a témában. A tapasztalat azonban azt mutatja, hogy a DP feladataihoz és módszereihez való szisztematikus apellálás, amely bizonyos kitartást igényel, végül elvezeti a kezdőt a kezdetben tisztázatlan rendelkezések teljes megértéséhez. Amikor ez megtörténik, a dinamikus programozás meglepően egyszerű és koherens elméletnek tűnik.

Alkalmazzuk a dinamikus programozási módszert a tőkebefektetések négy tevékenység közötti elosztására. A fejlesztésbe fektetett pénzeszközök teljes összege nem haladja meg a tízmillió hrivnyát. A műszaki-gazdasági számítások alapján megállapították, hogy a rekonstrukció eredményeként a ráfordított források mértékétől függően a tevékenységek a 2.5. táblázatban látható termelékenységgel rendelkeznek. Meg kell határozni a források optimális elosztását a tevékenységek között, hogy biztosítsuk a vállalati termelékenység maximális növekedését. Ebben az optimalizálási feladatban tehát a tevékenységek teljes teljesítménye az alkalmazott kritérium.

2.5 táblázat - Adatok a probléma megoldásához

Rendezvény sz.

Fejlesztésbe fektetett pénzeszközök

Termelékenység a fejlesztés eredményeként (t)

A megfogalmazott probléma egyszerű és látszólag leegyszerűsített megoldása egy kimerítő keresési eljárás alkalmazása. A problémának 4 x 5 = 20 lehetséges megoldása van, és ezek egy része nem elfogadható, mivel több mint 10 millió UAH-t igényel. A kimerítő keresési folyamat kiszámítja a 20 mindegyikhez kapcsolódó teljes költséget lehetséges megoldások. Ha a költségek összege nem haladja meg az előleg összegét, a megfelelő összbevételt kell kiszámítani. Az optimális megoldás az lesz, amely a maximális összjövedelmet biztosítja.

Vegyük észre a kimerítő keresési eljárás alábbi hátrányait.

  • 1. A projektek minden kombinációja meghatároz valamilyen megoldást a probléma egészére, ami azt jelenti, hogy az összesen át kell keresni lehetséges kombinációk Közepes és nagy méretű problémák esetén túlzottan nagy mennyiségű számítás társulhat.
  • 2. Nincs a priori információ a nem megvalósítható megoldásokról, ami csökkenti a kimerítő keresési számítási séma hatékonyságát.
  • 3. A projektek egyes kombinációinak elemzése során kapott információkat a továbbiakban nem használják fel a nem optimális kombinációk azonosítására és kiküszöbölésére.

A DP módszerek alkalmazása lehetővé teszi számunkra, hogy a felsorolt ​​hátrányok mindegyikét kiküszöböljük.

Legyenek x 1, x 2, x 3, x 4 tőkebefektetések az első, második, harmadik, negyedik esemény fejlesztésébe, 0 x i 10000000, i =. Jelöljük f 1 (x), f 2 (x), f 3 (x), f 4 (x) - az első, második, harmadik, negyedik tevékenység termelékenységében bekövetkezett változások függvényei x millió UAH befektetéssel. fejlődésükben. Ezek a függvények a 2.5 táblázat 1., 2., 3., 4. sorainak felelnek meg.

Határozzuk meg a célfüggvény maximumát

F (x 1, x 2, x 3, x 4) = f 1 (x) + f 2 (x) + f 3 (x) + f 4 (x).

Ugyanakkor az x1, x2, x3, x4 tőkebefektetésekre korlátozások vonatkoznak

x 1 + x 2 + x 3 + x 4 = A,

A probléma megoldására alkalmazott dinamikus programozási módszer az optimalitás elvén alapul.

Ennek az elvnek megfelelően az erőforrások valamilyen kezdeti allokációjának kiválasztása után többlépcsős optimalizálást hajtunk végre, majd a következő lépésben olyan erőforrás-allokációt választunk, hogy az összes további lépésben az optimális allokációval együtt a maximumot eredményezze. minden hátralévő lépésnél, beleértve ezt is.

Emeljünk ki feladatunk 3 lépését:

  • - Egy millió UAH. egyszerre fektessen be az első és a második tevékenységbe;
  • - Egy millió UAH. együtt fektess be az első, második, harmadik tevékenységbe;

Egy millió UAH. fektessen be négy tevékenységbe egyszerre;

Jelöljük: F 1,2 (A), F 1,2,3 (A), F 1,2,3,4 (A) - rendre a források optimális elosztását az első, második, harmadik lépéshez.

A dinamikus programozási módszer algoritmusa két szakaszból áll. Az első szakaszban feltételes optimalizálás történik, amely abból áll, hogy megtaláljuk a feltételes optimális F 1,2 (A), F 1,2,3 (A), F 1,2,3,4 (A) erősítést mindegyikre. a három lépés Mert. A második szakaszban feltétel nélküli optimalizálás történik. Az első szakasz eredményeit felhasználva megtalálják a tevékenységek fejlesztésére fordított befektetés értékeit x 1, x 2, x 3, x 4, amelyek biztosítják a tevékenységcsoport maximális termelékenységét.

Az első szakasz a következő lépéseket tartalmazza:

1) A maximális optimalizálási kritérium kiszámítása a különböző jelentések tőkebefektetések x = 0, 2500000, 5000000, 7500000, 10000000, amelyeket csak az 1. és 2. tevékenységhez használnak. A számítás a (2.4) képlet szerint történik.

A számítási eredményeket a 2.6. táblázat tartalmazza.

2.6. táblázat – Számítási eredmények az első szakaszban

Például az F 1,2 (5000000) meghatározásához ki kell számolnia

f 1 (5000000) + f 2 (0) = 700 + 5000 = 5700;

f 1 (2500000) + f 2 (2500000) = 600 + 6000 = 6600;

f 1 (0) + f 2 (5000000) = 500 + 7000 = 7500.

A maradék F l,2 (x) így kapjuk legmagasabb érték minden átló a táblázatban (ezek az értékek a táblázatban alá vannak húzva):

F2(0)=5500; F 2 (2500000) = max (5600, 6500) = 6500;

F 2 (5000000) = max (5700, 6600, 7500) = 7500;

F 2 (7500000) = max (5800, 6700, 7600, 9000) = 9000;

F 2 (10000000) = max (5900, 6800, 7700, 9100, 1500) = 9100;

2) A maximális optimalizálási kritérium kiszámítása különböző befektetési értékekre: x = 0, 2500000, 5000000, 7500000, 10000000, amelyeket csak az 1., 2. és 3. intézkedésnél használunk.

A számítást a (2.5) képlet szerint kell elvégezni.

A számítási eredményeket a 2.7 táblázatban rögzítjük, amely hasonló a 2.6 táblázathoz, csak f 1 (x) helyett F 2 (A) értékeit mutatja, és f 2 (A - x) helyett f 3 (A-x).

2.7. táblázat – Számítási eredmények a második szakaszban

Az F 1,2,3 (A) értékei a következők:

F 1,2,3 (0) = 8600; F 1,2,3 (2500000) = 9600; F 1,2,3 (5000000) = 10600;

F 1,2,3 (7500000) = 12100; F 1,2,3 (10000000) = 12200.

3) A maximális optimalizálási kritérium kiszámítása az 1,2, 3, 4 intézkedésekhez használt x = 0, 2500000, 5000000, 7500000, 10000000 befektetési különböző értékekre.

A számítást a (2.6) képlet szerint kell elvégezni.

A számítási eredményeket a 2.8. táblázatban soroljuk fel.

2.8. táblázat – Számítási eredmények a harmadik szakaszban

Az F 1,2,3,4 (A) értékei a következők:

F 1,2,3,4 (0) = 9300; F 1,2,3,4 (2500000) = 10300; F 1,2,3,4 (5000000) = 11300;

F 1,2,3,4 (7500000) = 12800; F 1,2,3,4 (10000000) = 12900.

Ezzel befejeződik a dinamikus programozási probléma megoldásának első szakasza.

Térjünk át a dinamikus programozási probléma megoldásának második szakaszára - feltétel nélküli optimalizálás. Ebben a szakaszban a 2.6, 2.7, 2.8 táblázatokat használjuk. Határozzuk meg az optimális beruházást a vállalkozások fejlesztésébe A = 0, 2500000, 5000000, 7500000, 10000000 esetén. Ehhez a következő számításokat végezzük:

1) Legyen a vállalkozások fejlesztésére allokált tőkebefektetések volumene A = 10000000 UAH.

Határozzuk meg a negyedik rendezvény fejlesztéséhez szükséges tőkebefektetés mértékét. Ehhez a 2.8 táblázatot használjuk. Válasszunk rajta egy A = 10000000-nak megfelelő átlót - ezek a 12900, 12900, 11500, 10550, 9600 értékek. Ezekből a számokból a maximális F 1,2,3,4 (10000000) = 12900 t. Megjelöljük azt az oszlopot, amelyben ez az érték megjelenik. Ezután a megjelölt oszlopban határozzuk meg a tőkebefektetés összegét a negyedik eseményben x 4 = 2 500 000.

Marad az első, második és harmadik tevékenység fejlesztése

A = 10 000 000 - x 4 = 2 500 000 UAH.

2) Határozzuk meg a harmadik tevékenység fejlesztésére szánt tőkebefektetés mértékét!

Ehhez a 2.7 táblázatot használjuk. Ebben a táblázatban válasszuk ki az A = 7500000-nek megfelelő átlót - ezek az értékek 12100, 10700, 9800, 8900. Jelöljük azt az oszlopot, amelyben van egy maximális (aláhúzott) termelékenységi érték F 1,2,3 ( 7500000) = 12100 t Határozza meg az x 3 = 0 UAH értéket a megjelölt oszlopban.

A harmadik rendezvényt nem finanszírozzuk.

3) Határozzuk meg a második rendezvény fejlesztéséhez szükséges tőkebefektetés mértékét! Ehhez a 2.6 táblázatot használjuk. Válasszunk rajta egy A = 75000000-nek megfelelő átlót - ez 5800, 6700, 7600, 9000. Ezekből a számokból vesszük ki a maximumot F 1,2 (75000000) = 9000 t Jelöljük azt az oszlopot, amelyben ez az érték szerepel. Ezután a megjelölt oszlopban határozzuk meg a tőkebefektetés összegét a második eseményben x 2 = 7 500 000.

Így az A volumenű tőkebefektetéseknél = 10 000 000 UAH. Az optimális befektetés a negyedik rendezvény fejlesztésébe 2 500 000 UAH, a másodiké 7 500 000 UAH, az első és a harmadik rendezvény fejlesztésére nem különítenek el forrást. A négy vállalkozás össztermelékenysége ugyanakkor 12 900 tonna lesz.

A megoldás második szakaszának számításait megismételve A = 3, 2, 1, 0 esetén meghatározzuk az optimális befektetést a tevékenységek fejlesztésébe. Az eredmények a következők lesznek:

F 1,2,3,4 (7500000) = 12800; x 1 = 0; x 2 = 7500000; x 3 = 0; x 4 = 0

F 1,2,3,4 (5000000) = 11300; x 1 = 0; x 2 = 5000000; x 3 = 0; x 4 = 0

F 1,2,3,4 (2500000) = 10300; x 1 = 0; x 2 = 250 000; x 3 = 0; x 4 = 0

F 1,2,3,4 (0) = 9300; x 1 = 0; x 2 = 0; x 3 = 0; x 4 = 0

Az iteratív módszerek előnye, hogy alkalmazhatók rosszul kondicionált rendszerekre és magasrendű rendszerekre, önkorrekciójuk és egyszerű PC-n való implementálásuk. A számítások megkezdéséhez az iteratív módszerekhez meg kell adni a kívánt megoldás kezdeti közelítését.

Megjegyzendő, hogy az iteratív folyamat konvergenciájának feltételei és sebessége jelentősen függ a mátrix tulajdonságaitól A rendszerről és a kezdeti közelítések megválasztásáról.

Az iterációs módszer alkalmazásához az eredeti rendszert (2.1) vagy (2.2) a formára kell redukálni

ami után az ismétlődő képletek szerint hajtjuk végre az iteratív folyamatot

, k = 0, 1, 2, ... . (2.26A)

Mátrix Gés vektort a (2.1) rendszer transzformációja eredményeként kapjuk.

A konvergenciához (2.26 A) szükséges és elégséges ahhoz, hogy |l én(G)| < 1, где lén(G) – Mind sajátértékek mátrixok G. Konvergencia akkor is bekövetkezik, ha || G|| < 1, так как |lén(G)| < " ||G||, ahol a " bármely.

Szimbólum || ... || a mátrix normáját jelenti. Értékének meghatározásakor leggyakrabban két feltétel ellenőrzésénél állnak meg:

||G|| = vagy || G|| = , (2.27)

Hol . A konvergencia akkor is garantált, ha az eredeti mátrix Aátlós dominanciája van, i.e.

. (2.28)

Ha (2.27) vagy (2.28) teljesül, az iterációs módszer minden kezdeti közelítéshez konvergál. Leggyakrabban a vektort nullának vagy egységnek veszik, vagy magát a vektort a (2.26)-ból veszik.

Számos megközelítés létezik az eredeti rendszer (2.2) mátrixszal történő átalakítására A hogy biztosítsuk a formát (2.26), vagy teljesítsük a (2.27) és (2.28) konvergenciafeltételeket.

Például (2.26) megkapható alábbiak szerint.

Hadd A = IN+ VEL, det IN#0; Akkor ( B+ VEL)= Þ B= −C+ Þ Þ B –1 B= −B –1 C+ B–1 , honnan= − B –1 C+ B –1 .

Elhelyezés - B –1 C = G, B–1 = , megkapjuk (2.26).

A (2.27) és (2.28) konvergenciafeltételekből jól látható, hogy a reprezentáció A = IN+ VEL nem lehet önkényes.

Ha mátrix A teljesíti a (2.28) feltételeket, akkor mátrixként IN kiválaszthatja az alsó háromszöget:

, a ii ¹ 0.

; Þ ; Þ ; Þ

Az a paraméter kiválasztásával biztosíthatjuk, hogy || G|| = ||E+ a A|| < 1.

Ha a (2.28) érvényesül, akkor a (2.26)-ra való transzformáció minden egyes megoldással elvégezhető én a (2.1) rendszer egyenlete x i a következő ismétlődő képletek szerint:

(2.28A)

Ha a mátrixban A nincs átlós dominancia, azt néhány felhasználásával kell elérni lineáris transzformációk, egyenértékűségük megsértése nélkül.

Példaként tekintsük a rendszert

(2.29)

Mint látható, az (1) és (2) egyenletben nincs átlós dominancia, a (3)-ban viszont igen, ezért változatlanul hagyjuk.

Az (1) egyenletben érjünk el diagonális dominanciát. Szorozzuk meg (1)-et a-val, (2)-t b-vel, adjuk össze mindkét egyenletet, és a kapott egyenletben válasszuk ki a-t és b-t úgy, hogy átlós dominancia legyen:

(2a + 3b) X 1 + (–1,8a + 2b) X 2 +(0,4a – 1,1b) X 3 = a.

Ha a = b = 5-öt veszünk, akkor 25-öt kapunk X 1 + X 2 – 3,5X 3 = 5.

Az (1) túlsúlyú (2) egyenlet átalakításához szorozzuk meg g-vel, a (2) szorozzuk d-vel, és vonjuk ki (2) az (1)-et. Megkapjuk

(3d – 2g) X 1 + (2d + 1,8 g) X 2 + (–1,1 nap – 0,4 g) X 3 = −g.

Ha d = 2, g = 3, akkor 0-t kapunk X 1 + 9,4 X 2 – 3,4 X 3 = −3. Ennek eredményeként megkapjuk a rendszert

(2.30)

Ezzel a technikával a mátrixok széles osztályára lehet megoldást találni.

vagy

A = (0,2; –0,32; 0) vektort véve kezdeti közelítésnek T, ezt a rendszert technológia segítségével oldjuk meg (2.26 A):

k = 0, 1, 2, ... .

A számítási folyamat leáll, ha a megoldásvektor két szomszédos közelítése pontosan egybeesik, azaz.

.

Technológia iteratív megoldás típus (2.26 A) nevű egyszerű iterációs módszer .

Fokozat abszolút hiba az egyszerű iterációs módszerhez:

hol van a szimbólum || ... || normálisat jelent.

2.1. példa. Egyszerű iterációs módszerrel, e = 0,001 pontossággal oldja meg a rendszert lineáris egyenletek:

Az összefüggésből meghatározható az e = 0,001 pontos választ adó lépések száma

0,001 GBP.

Becsüljük meg a konvergenciát a (2.27) képlet segítségével. Itt || G|| = = max(0,56; 0,61; 0,35; 0,61) = 0,61< 1; = 2,15. Значит, сходимость обеспечена.

Kezdeti közelítésként a vektort vesszük ingyenes tagok, azaz = (2,15; –0,83; 1,16; 0,44) T. Helyettesítsük be a vektorértékeket (2.26 A):

Folytatva a számításokat, az eredményeket beírjuk a táblázatba:

k X 1 X 2 X 3 X 4
2,15 –0,83 1,16 0,44
2,9719 –1,0775 1,5093 –0,4326
3,3555 –1,0721 1,5075 –0,7317
3,5017 –1,0106 1,5015 –0,8111
3,5511 –0,9277 1,4944 –0,8321
3,5637 –0,9563 1,4834 –0,8298
3,5678 –0,9566 1,4890 –0,8332
3,5760 –0,9575 1,4889 –0,8356
3,5709 –0,9573 1,4890 –0,8362
3,5712 –0,9571 1,4889 –0,8364
3,5713 –0,9570 1,4890 –0,8364

Ezrelékben kifejezett konvergencia már a 10. lépésnél megtörténik.

Válasz: X 1 » 3,571; X 2"-0,957; X 3 » 1,489; X 4 "-0,836.

Ezt a megoldást a (2.28.) képletekkel is megkaphatjuk A).

Példa 2.2. Az algoritmus bemutatása képletekkel (2.28 A) fontolja meg a rendszer megoldását (csak két iteráció):

; . (2.31)

Alakítsuk át a rendszert a (2.26) alakra a (2.28) szerint A):

Þ (2.32)

Vegyük a kezdeti közelítést = (0; 0; 0) T. Aztán azért k= 0 nyilvánvaló, hogy az érték = (0,5; 0,8; 1,5) T. Helyettesítsük be ezeket az értékeket (2.32-be), azaz mikor k= 1 = (1,075; 1,3; 1,175) T.

Hiba e 2 = = max(0,575; 0,5; 0,325) = 0,575.

Az SLAE-re a módszer segítségével megoldást találó algoritmus blokkvázlata egyszerű iterációk munkaképletek szerint (2.28 A) ábrán látható. 2.4.

A blokkdiagram különlegessége a következő blokkok jelenléte:

– 13. blokk – célját az alábbiakban tárgyaljuk;

– 21. blokk – eredmények megjelenítése a képernyőn;

– 22. blokk – a konvergencia ellenőrzése (mutatója).

Elemezzük a javasolt sémát a (2.31) rendszer példáján ( n= 3, w = 1, e = 0,001):

= ; .

Tömb 1. Adja meg a kezdeti adatokat A, , w, e, n: n= 3, w = 1, e = 0,001.

I. ciklus. Állítsa be a vektorok kezdeti értékeit x 0énÉs x i (én = 1, 2, 3).

Tömb 5. Állítsa vissza az iterációs számlálót.

Tömb 6. Állítsa vissza az aktuális hibaszámlálót nullára.

IN ciklusban a mátrix sorszámai megváltoznak Aés vektor.

Ciklus II:én = 1: s = b 1 = 2 (8. mező).

Lépjen a III. beágyazott ciklushoz, 9. blokk – mátrixoszlopszám-számláló A: j = 1.

Tömb 10: j = én, ezért visszatérünk a 9. blokkhoz és növeljük j egységenként: j = 2.

A 10-es blokkban j ¹ én(2 ¹ 1) – áttérünk a 11-es blokkra.

Tömb 11: s= 2 – (–1) × X 0 2 = 2 – (–1) × 0 = 2, ugorjon a 9. blokkra, amelyben j növeld eggyel: j = 3.

A 10. blokkban a feltétel j ¹ én teljesült, ezért térjünk át a 11. blokkra.

Tömb 11: s= 2 – (–1) × X 0 3 = 2 – (–1) × 0 = 2, majd továbblépünk a 9. blokkra, amelyben j növeld eggyel ( j= 4). Jelentése j több n (n= 3) – befejezzük a ciklust, és továbblépünk a 12. blokkra.

Tömb 12: s = s / a 11 = 2 / 4 = 0,5.

Tömb 13: w = 1; s = s + 0 = 0,5.

Tömb 14: d = | x is | = | 1 – 0,5 | = 0,5.

Tömb 15: x i = 0,5 (én = 1).

Tömb 16. Állapot ellenőrzése d > de: 0,5 > 0, ezért menjünk a 17. blokkhoz, amelyben hozzárendeljük de= 0,5 és térjen vissza a következő hivatkozással A» a II. ciklus következő lépésére – a 7. blokkra, amelyben én eggyel növeljük.

Ciklus II: én = 2: s = b 2 = 4 (8. mező).

j = 1.

A 10-es blokkon keresztül j ¹ én(1 ¹ 2) – áttérünk a 11-es blokkra.

Tömb 11: s= 4 – 1 × 0 = 4, lépjen a 9. blokkra, amelyben j növeld eggyel: j = 2.

A 10. blokkban a feltétel nem teljesül, így továbblépünk a 9. blokkra, amelyben j növeld eggyel: j= 3. Hasonlatosan továbblépünk a 11. blokkra.

Tömb 11: s= 4 – (–2) × 0 = 4, ami után befejezzük a III. ciklust, és továbblépünk a 12. blokkra.

Tömb 12: s = s/ a 22 = 4 / 5 = 0,8.

Tömb 13: w = 1; s = s + 0 = 0,8.

Tömb 14: d = | 1 – 0,8 | = 0,2.

Tömb 15: x i = 0,8 (én = 2).

Tömb 16. Állapot ellenőrzése d > de: 0,2 < 0,5; следовательно, возвращаемся по ссылке «A» a II. ciklus következő lépéséhez - a 7. blokkhoz.

Ciklus II: én = 3: s = b 3 = 6 (8. mező).

Lépjen a III. beágyazott hurok 9. blokkjához: j = 1.

Tömb 11: s= 6 – 1 × 0 = 6, ugorjon a 9. blokkra: j = 2.

A 10-es blokk segítségével áttérünk a 11-es blokkra.

Tömb 11: s= 6 – 1 × 0 = 6. Befejezzük a III. ciklust és továbblépünk a 12. blokkra.

Tömb 12: s = s/ a 33 = 6 / 4 = 1,5.

Tömb 13: s = 1,5.

Tömb 14: d = | 1 – 1,5 | = 0,5.

Tömb 15: x i = 1,5 (én = 3).

A 16. blokk szerint (beleértve a hivatkozásokat " A"És" VEL") elhagyjuk a II. ciklust, és továbblépünk a 18. blokkra.

Tömb 18. Az iterációk számának növelése azt = azt + 1 = 0 + 1 = 1.

A IV. ciklus 19. és 20. blokkjában lecseréljük a kezdeti értékeket X 0én kapott értékeket x i (én = 1, 2, 3).

Tömb 21. Az aktuális iteráció köztes értékeit nyomtatjuk, in ebben az esetben: = (0,5; 0,8; 1,5)T, azt = 1; de = 0,5.

A 7. blokkhoz megyünk a II. ciklushoz, és új kezdeti értékekkel hajtjuk végre a figyelembe vett számításokat X 0én (én = 1, 2, 3).

Ami után megkapjuk X 1 = 1,075; X 2 = 1,3; X 3 = 1,175.

Itt tehát Seidel módszere konvergál.

A (2.33) képletek szerint

k X 1 X 2 X 3
0,19 0,97 –0,14
0,2207 1,0703 –0,1915
0,2354 1,0988 –0,2118
0,2424 1,1088 –0,2196
0,2454 1,1124 –0,2226
0,2467 1,1135 –0,2237
0,2472 1,1143 –0,2241
0,2474 1,1145 –0,2243
0,2475 1,1145 –0,2243

Válasz: x 1 = 0,248; x 2 = 1,115; x 3 = –0,224.

Megjegyzés. Ha az egyszerű iteráció és a Seidel metódusok ugyanarra a rendszerre konvergálnak, akkor a Seidel módszert részesítjük előnyben. A gyakorlatban azonban ezeknek a módszereknek a konvergencia területei eltérőek lehetnek, azaz az egyszerű iterációs módszer konvergál, de a Seidel-módszer divergál, és fordítva. Mindkét módszer esetében, ha || G|| közel egység, a konvergencia sebessége nagyon alacsony.

A konvergencia felgyorsítására használják mesterséges vétel- ún relaxációs módszer . Lényege abban rejlik, hogy az iterációs módszerrel kapott következő érték x i (k) a képlet segítségével kerül újraszámításra

ahol w általában 0 és 2 között változik (0< w £ 2) с каким-либо шагом (h= 0,1 vagy 0,2). A w paramétert úgy választjuk ki, hogy a módszer konvergenciája minimális számú iterációval elérhető legyen.

Pihenés– a test bármely állapotának fokozatos gyengülése az állapotot okozó tényezők megszűnése után (fizikai tervezés).

2.4. példa. Tekintsük az ötödik iteráció eredményét a relaxációs képlet segítségével. Vegyük w = 1,5:

Amint látja, majdnem a hetedik iteráció eredménye megszületett.

Előadás Iteratív módszerek algebrai lineáris egyenletrendszer megoldására.

Az iteratív folyamat konvergenciájának feltétele

Egyszerű iterációs módszer

Lineáris rendszert tekintünk algebrai egyenletek

Az iteratív módszerek alkalmazásához a rendszert egyenértékű formára kell redukálni

Ezután kiválasztunk egy kezdeti közelítést az egyenletrendszer megoldásához, és megtaláljuk a gyökér közelítéseinek sorozatát.

Az iteratív folyamat konvergálásához elegendő, ha a feltétel teljesül
(mátrix norma). Az iterációk befejezésének kritériuma az alkalmazott iteratív módszertől függ.

Jacobi módszer .

A legegyszerűbb módja annak, hogy a rendszert az iterációhoz kényelmes formába hozza, a következő:

A rendszer első egyenletéből fejezzük ki az ismeretlent x 1, az általunk kifejezett rendszer második egyenletéből x 2 stb.

Ennek eredményeként egy B mátrixú egyenletrendszert kapunk, amelyben nulla elemek vannak a főátlón, a fennmaradó elemeket pedig a képletekkel számítjuk ki:

A d vektor összetevőit a következő képletekkel számítjuk ki:

Az egyszerű iterációs módszer számítási képlete:

vagy koordináta jelöléssel így néz ki:

A Jacobi-módszerben az iterációk befejezésének kritériuma a következő:

Ha
, akkor egy egyszerűbb kritériumot is alkalmazhatunk az iterációk befejezésére

1. példa Lineáris egyenletrendszer megoldása Jacobi módszerrel.

Legyen adott az egyenletrendszer:

Pontos megoldást kell találni a rendszerre

Csökkentsük le a rendszert olyan formára, amely alkalmas az iterációra:

Válasszunk egy kezdeti közelítést, pl.

- a jobb oldali vektor.

Akkor az első iteráció így néz ki:

A megoldás következő közelítéseit hasonló módon kapjuk.

Keressük meg a B mátrix normáját.

A normát fogjuk használni

Mivel az egyes sorok elemeinek moduljainak összege 0,2, akkor
, tehát az iterációk befejezésének kritériuma ebben a problémában az

Számítsuk ki a vektorkülönbségek normáit:

Mert
a megadott pontosságot a negyedik iterációnál érte el.

Válasz: x 1 = 1.102, x 2 = 0.991, x 3 = 1.0 1 1

Seidel módszer .

A módszer a Jacobi-módszer módosításának tekinthető. A fő gondolat az, hogy a következő kiszámításakor (n+1)- az ismeretlen megközelítése x én at i >1 használat már megtalálható (n+1)- e közeledik az ismeretlenhez x 1 ,x 2 , ...,x i - 1 és nem n közelítés, mint a Jacobi módszernél.

A módszer számítási képlete koordinátajelölésben így néz ki:

A konvergenciafeltételek és az iterációk befejezésének kritériuma megegyezik a Jacobi módszerrel.

2. példa Lineáris egyenletrendszerek megoldása Seidel módszerrel.

Tekintsük párhuzamosan 3 egyenletrendszer megoldását:

Csökkentsük le a rendszereket az iterációk számára kényelmes formára:

Vegye figyelembe, hogy a konvergencia feltétele
csak az első rendszerhez készült. Számítsunk ki minden esetben 3 első közelítést a megoldásra.

1. rendszer:

A pontos megoldás a következő értékek lesznek: x 1 = 1.4, x 2 = 0.2 . Az iteratív folyamat konvergál.

2. rendszer:

Látható, hogy az iterációs folyamat eltér egymástól.

Pontos megoldás x 1 = 1, x 2 = 0.2 .

3. rendszer:

Látható, hogy az iterációs folyamat ciklusokban ment.

Pontos megoldás x 1 = 1, x 2 = 2 .

Legyen az A egyenletrendszer mátrixa szimmetrikus és pozitív határozott. Ezután a kezdeti közelítés bármely választása esetén a Seidel-módszer konvergál. Egy bizonyos mátrix normájának kicsinysége nem támaszt további feltételeket.

Egyszerű iterációs módszer.

Ha A szimmetrikus és pozitív definit mátrix, akkor az egyenletrendszer gyakran ekvivalens formára redukálódik:

x=x-τ (A x- b), τ – iterációs paraméter.

Az egyszerű iterációs módszer számítási képlete ebben az esetben a következő:

x (n+1) =x n- τ (A x (n) - b).

és a τ > 0 paramétert úgy választjuk meg, hogy lehetőség szerint minimalizáljuk az értéket

Legyen λ min és λ max az A mátrix minimális és maximális sajátértéke. A paraméter optimális megválasztása

Ebben az esetben
elfogadja minimális érték egyenlő:

3. példa Lineáris egyenletrendszerek megoldása egyszerű iterációs módszerrel. (MathCAD-ben)

Legyen adott az Ax = b egyenletrendszer

    Az iteratív folyamat felépítéséhez azt találjuk sajátértékek A mátrixok:

- beépített függvényt használ a sajátértékek keresésére.

    Számítsuk ki az iterációs paramétert és ellenőrizzük a konvergencia feltételt

A konvergencia feltétele teljesül.

    Vegyük a kezdeti közelítést - x0 vektort, állítsa be a pontosságot 0,001-re, és keresse meg a kezdeti közelítéseket az alábbi programmal:

Pontos megoldás

Megjegyzés. Ha a program visszaadja a rez mátrixot, akkor megtekintheti az összes talált iterációt.

3. téma. Lineáris algebrai egyenletrendszerek megoldása iteratív módszerekkel.

A fent leírt SLAE-k megoldásának közvetlen módszerei nem túl hatékonyak nagydimenziós rendszerek megoldásakor (vagyis amikor az érték n elég nagy). Ilyen esetekben az iteratív módszerek alkalmasabbak az SLAE megoldására.

Iteratív módszerek az SLAE megoldására(második nevük a megoldás egymás utáni közelítésének módszerei) nem adják meg az SLAE pontos megoldását, hanem csak a megoldás közelítését, és minden további közelítés az előzőből származik, és pontosabb, mint az előző ( feltéve, hogy a konvergencia iterációk). A kezdeti (vagy ún. nulla) közelítést a várt megoldáshoz közel vagy tetszőlegesen választjuk (a rendszer jobb oldalának vektorát vehetjük annak). A pontos megoldást az ilyen közelítések határaként találjuk, mivel számuk a végtelenbe hajlik. Általános szabály, hogy végső szám lépések (azaz iterációk) ezt a határt nem érik el. Ezért a gyakorlatban bevezetik a fogalmat megoldás pontossága, nevezetesen valamilyen pozitív és kellően kis szám van megadva eés a számítások (iterációk) folyamatát addig végezzük, amíg az összefüggés teljesül .

Itt van az iterációs szám után kapott megoldás közelítése n , a az SLAE pontos megoldása (amely előre ismeretlen). Az iterációk száma n = n (e ) , szükséges egy adott pontosság eléréséhez specifikus módszerek től szerezhető be elméleti megfontolások(azaz erre vannak számítási képletek). A különböző iteratív módszerek minősége összehasonlítható az azonos pontosság eléréséhez szükséges iterációk számával.

Az iteratív módszerek tanulmányozása konvergencia tudnia kell a mátrixok normáit kiszámítani. Mátrix norma- ez biztos számérték, amely a mátrixelemek nagyságát abszolút értékben jellemzi. IN felsőbb matematika több is van különféle típusok mátrixok normái, amelyek általában egyenértékűek. Tanfolyamunkon ezek közül csak egyet fogunk használni. Mégpedig alatta mátrix norma meg fogjuk érteni az összegek közötti maximális érték abszolút értékeket egyes mátrixsorok elemei. A mátrix normájának jelzésére a nevét két függőleges sávba zárjuk. Tehát a mátrixhoz A normája alatt a mennyiséget értjük

. (3.1)

Így például az 1. példa A mátrixának normája a következőképpen található:

Legtöbb széles körű alkalmazás Az SLAE megoldására három iteratív módszert kaptunk

Egyszerű iterációs módszer

Jacobi módszer

Guass-Seidel módszer.

Egyszerű iterációs módszer átmenetet foglal magában az SLAE eredeti formájában (2.1) való írásáról az alakban való írásra

(3.2)

vagy, ami szintén ugyanaz, mátrix formában,

x = VEL × x + D , (3.3)

C - a transzformált dimenziórendszer együtthatóinak mátrixa n ´ n

x - álló ismeretlenek vektora n összetevő

D - a transzformált rendszer jobb oldali részeinek vektora, amelyből áll n összetevő.

A (3.2) formában lévő rendszer redukált formában ábrázolható

Ezen nézet alapján egyszerű iterációs képletúgy fog kinézni

Ahol m - iterációs szám és - érték x j -on m -adik iterációs lépés. Majd, ha az iterációs folyamat konvergál, növekvő számú iterációval megfigyelhető lesz

Az bebizonyosodott az iterációs folyamat konvergál, Ha norma mátrixok D akarat kevesebb egységets.

Ha a szabad tagok vektorát vesszük kezdeti (nulla) közelítésnek, azaz. x (0) = D , Azt hiba nagyságaúgy néz ki

(3.5)

itt alatta x * a rendszer pontos megoldása érthető. Ezért,

Ha , majd aszerint meghatározott pontossággale előre kiszámítható szükséges számú iteráció. Mégpedig a relációból

kis átalakítások után kapjuk

. (3.6)

Ilyen számú iteráció végrehajtásakor garantált a rendszerre adott megoldás megtalálásának pontossága. Ez elméleti értékelés szükséges mennyiség Az iterációs lépések kissé túlbecsültek. A gyakorlatban a kívánt pontosság kevesebb iterációval érhető el.

Egy adott SLAE-re kényelmes megoldást keresni egyszerű iterációs módszerrel, a kapott eredményeket az alábbi táblázatba írva:

x 1

x 2

x n

Külön meg kell jegyezni, hogy az SLAE megoldása során ezzel a módszerrel a legösszetettebb és legidőigényesebb az, hogy a rendszert (2.1) formából (3.2) formává alakítsuk. Ezeknek a transzformációknak egyenértékűnek kell lenniük, pl. nem változtatja meg az eredeti rendszer megoldását, és biztosítja a mátrix normájának értékét C (befejezésük után) kisebb egység. Nincs egyetlen recept az ilyen átalakítások végrehajtására. Itt mindenkiben konkrét eset kreatívnak kell lenned. Mérlegeljük példák, amely néhány módot biztosít a rendszer átalakítására a kívánt formára.

1. példa Találjunk megoldást lineáris algebrai egyenletrendszerek egyszerű iterációs módszerrel (pontossággal e= 0.001)

Ezt a rendszert a legegyszerűbb módon hozzák a kívánt formába. Vigyük át az összes kifejezést a bal oldalról jobbra, majd adjuk hozzá az egyes egyenletek mindkét oldalához x i (én =1, 2, 3, 4). A következő formájú transzformált rendszert kapjuk

.

Mátrix C és vektor D ebben az esetben a következő lesz

C = , D = .

Számítsuk ki a mátrix normáját C . Megkapjuk

Mivel a norma kisebbnek bizonyult, mint egység, az egyszerű iterációs módszer konvergenciája biztosított. Kezdeti (nulla) közelítésként a vektor komponenseit vesszük D . Megkapjuk

, , , .

A (3.6) képlet segítségével kiszámítjuk a szükséges iterációs lépések számát. Először határozzuk meg a vektor normáját D . Megkapjuk

.

Ezért a megadott pontosság eléréséhez legalább 17 iterációt kell végrehajtani. Végezzük el az első iterációt. Megkapjuk

Az összes aritmetikai művelet elvégzése után azt kapjuk

.

Hasonlóan folytatva további iterációs lépéseket hajtunk végre. Eredményeiket az alábbi táblázatban foglaljuk össze ( D - legnagyobb érték a megoldás összetevőinek változásai az aktuális és az előző lépések között)

M

Mivel a tizedik lépés után az utolsó két iteráció értékei közötti különbség kisebb lett, mint a megadott pontosság, leállítjuk az iterációs folyamatot. Ahogy a megoldást megtaláltuk, az utolsó lépésben kapott értékeket vesszük.

2. példa

Először járjunk el az előző példához hasonlóan. Megkapjuk

Mátrix C lesz ilyen rendszer

C =.

Számítsuk ki a normáját. Megkapjuk

Nyilvánvaló, hogy egy ilyen mátrix iterációs folyamata nem lesz konvergens. Más módot kell találni az adott egyenletrendszer átalakítására.

Rendezzük át az egyes egyenleteit az eredeti egyenletrendszerben úgy, hogy a harmadik sor legyen az első, az első - a második, a második - a harmadik. Aztán ugyanúgy átalakítva azt kapjuk

Mátrix C lesz ilyen rendszer

C =.

Számítsuk ki a normáját. Megkapjuk

A mátrix normája óta C egységnél kisebbnek bizonyult, az így átalakított rendszer alkalmas az egyszerű iterációs módszerrel történő megoldásra.

3. példa Alakítsuk át az egyenletrendszert

olyan formára, amely lehetővé tenné az egyszerű iterációs módszer alkalmazását a megoldásban.

Először járjunk el az 1. példához hasonlóan. Megkapjuk

Mátrix C lesz ilyen rendszer

C =.

Számítsuk ki a normáját. Megkapjuk

Nyilvánvaló, hogy egy ilyen mátrix iterációs folyamata nem lesz konvergens.

Ahhoz, hogy az eredeti mátrixot az egyszerű iterációs módszer alkalmazására alkalmas formává alakítsuk, a következőképpen járunk el. Először egy „köztes” egyenletrendszert alkotunk, amelyben

- első egyenlet az eredeti rendszer első és második egyenletének összege

- második egyenlet- a harmadik egyenlet kétszeresének összege a második mínusz az elsővel

- harmadik egyenlet- az eredeti rendszer harmadik és második egyenlete közötti különbség.

Ennek eredményeként az eredetivel egyenértékű „köztes” egyenletrendszert kapunk

Ebből könnyen beszerezhető egy másik rendszer, egy „köztes” rendszer

,

és abból átalakult

.

Mátrix C lesz ilyen rendszer

C =.

Számítsuk ki a normáját. Megkapjuk

Egy ilyen mátrix iterációs folyamata konvergens lesz.

Jacobi módszer feltételezi, hogy a mátrix összes átlós eleme A Az eredeti rendszer (2.2) értékei nem egyenlők nullával. Ezután az eredeti rendszert át lehet írni

(3.7)

Egy ilyen rekordból alakul ki a rendszer a Jacobi-módszer iterációs képlete

A Jacobi-módszer iteratív folyamata konvergenciájának feltétele az ún az átló dominanciája az eredeti rendszerben ((2,1) típus). Analitikailag ez a feltétel az űrlapon van írva

. (3.9)

Megjegyzendő, hogy ha be adott rendszer egyenletek esetén a Jacobi-módszer konvergenciafeltétele (azaz az átló dominanciájának feltétele) nem teljesül, sok esetben lehetséges ekvivalens transzformációk hozza az eredeti SLAE megoldást egy egyenértékű SLAE megoldásához, amelyben ez a feltétel teljesül.

4. példa Alakítsuk át az egyenletrendszert

olyan formára, amely lehetővé tenné a Jacobi-módszer alkalmazását annak megoldásában.

A 3. példában már foglalkoztunk ezzel a rendszerrel, ezért térjünk át belőle az ott kapott „köztes” egyenletrendszerre. Könnyen megállapítható, hogy az átlós dominancia feltétele teljesül, ezért alakítsuk át a Jacobi módszer alkalmazásához szükséges formára. Megkapjuk

Ebből egy képletet kapunk a Jacobi-módszerrel végzett számítások elvégzésére adott SLAE-re

Kezdőnek véve, i.e. nulla, szabad tagok közelítési vektora, minden szükséges számítást elvégzünk. Foglaljuk össze táblázatban az eredményeket.

m

D

A kapott megoldás meglehetősen nagy pontosságát hat iterációval sikerült elérni.

Gauss-Seidel módszer a Jacobi-módszer továbbfejlesztése, és azt is feltételezi, hogy a mátrix összes átlós eleme A Az eredeti rendszer (2.2) értékei nem egyenlők nullával. Ekkor az eredeti rendszer átírható a Jacobi-módszerhez hasonló, de attól kissé eltérő formában

Itt fontos megjegyezni, hogy ha az összegző jelben a felső index kisebb, mint az alsó index, akkor nem történik összegzés.

A Gauss-Seidel módszer ötlete abban rejlik, hogy a módszer szerzői lehetőséget láttak a számítási folyamat felgyorsítására a Jacobi-módszerrel kapcsolatban, mivel a következő iteráció során új értéket találtak. x 1 Tud azonnal használja ezt az új értéket ugyanabban az iterációban a fennmaradó változók kiszámításához. Hasonlóképpen, új értéket találva x 2 azonnal használhatod is ugyanabban az iterációban stb.

Ez alapján iterációs képlet a Gauss-Seidel módszerhez rendelkezik következő nézet

Elegendőkonvergencia záradék A Gauss-Seidel módszer iterációs folyamata ugyanaz a feltétel az átló dominanciája (3.9). Konvergencia sebessége Ez a módszer valamivel magasabb, mint a Jacobi módszernél.

5. példa. Oldjuk meg az egyenletrendszert Gauss-Seidel módszerrel

A 3. és 4. példában már figyelembe vettük ezt a rendszert, ezért azonnal áttérünk a transzformált egyenletrendszerre (lásd a 4. példát), amelyben az átlós dominancia feltétele teljesül. Ebből kapunk egy képletet a számítások elvégzéséhez a Gauss-Seidel módszerrel

A szabad tagok vektorát véve kezdeti (azaz nulla) közelítésnek, elvégezzük az összes szükséges számítást. Foglaljuk össze táblázatban az eredményeket.

m

A kapott megoldás meglehetősen nagy pontosságát öt iterációban érte el.



Előző cikk: Következő cikk:

© 2015 .
Az oldalról | Kapcsolatok
| Webhelytérkép