Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaSzebasztián Frigyes Gulyás Megváltozta több, mint 8 éve
1
Technológiai folyamatok optimalizálása Dinamikus programozás Ráduly Botond Mészáros Sándor
2
Dinamikus programozás A dinamikus programozás a feladatot egyszerű részfeladatokra való osztással oldja meg. Akkor alkalmazható, ha az optimalizálandó rendszer szakaszokra (lépcsőkre) bontható és ha a bizonyos szakaszokban hozott döntesek nem befolyasolják az előző szakaszokat (a feladat aciklikus – nincs információvisszacsatolás). A szakaszok történhetnek egymásután úgy térben mint időben. Bármely szakaszban hozott döntés csupán az utána következő szakaszokat befolyásolhatja, és nem hathat az előtte lévőkre. 1 2 3 4 x1x1 x2x2 x3x3 x4x4 x i – állapotvektor d i – döntés d1d1 d2d2 d3d3 d4d4
3
Az optimalitás elve R. Bellman: “An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision.” Más szavakkal: egy aciklikus rendszer optimalizálásához az szükséges, hogy a rendszer bármelyik pontjából kiindulva a pont után következő részek optimalizálva legyenek, függetlenül a pont előtti szakaszok állapotától és döntéseitől. A fenti elv értlemében az aciklikus rendszerek optimalizálása az utolsó lépcsőtől kezdődik és visszafele halad lépésenként. Ha az utolsó lépcső nem lenne optimalizálva, akkor az egész rendszer működése nem lenne optimális.
4
1 2 3 4 5 optimalizálandó aciklikus rendszer 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 optimalitás elv alkalmazása az utolsó szakaszra optimalitás elv alkalmazása az utolsó két szakaszra optimalitás elv alkalmazása az utolsó három szakaszra optimalitás elv alkalmazása az utolsó négy szakaszra Aciklikus rendszer optimalizálása
5
előmelegítő reaktor szeparátor termikus közeg hozama desztillációhoz szüks. gőzhozam gőz költségei hűtővíz költségei gőz költségei helyi optimumkritériumok a rendszer által felhasznált energia összköltsége globális optimumkritérium A rendszer lépcsői nem külön-külön lesznek optimalizálva, hanem egyszerre! Először csak a szeparátor, majd a szeparátor és reaktor együtt, majd minden együtt.
6
előmelegítő 2 5 4 3 5 4 1 3 2 6 3 2 reaktor szeparátor 4 6 5 5 3 7 3 2 4 4 6 5 5 3 7 3 2 4 1 4 5 4 6 5 2 4 5
7
e * = 2 r * = 1 sz * = 1 Lokális optimumok: mindegyik berendezés nem tud egyszerre az optimumon működni (az adott esetben) optimalizálás a bemenetek szerint (elölről – mohó módszer): 2 + 3 + 4 = 9 optimalizálás az optimalitás elve szerint (hátulról): először az utolsó két lépcsőt: 2 + 2 = 4 majd mindhárom lépcsőt: 4 + 4 = 8 globális optimum
8
n n-1 2 1 xnxn x n-1 x2x2 x1x1 dndn d n-1 d2d2 d1d1 x3x3 x n+1... A dinamikus programozás matematikája Az optimalitás elvének alkalmazási feltételei: a)ismerjük minden lépcső matematikai modelljét amely segítségével minden egyes kilépő vektor kifejezhető a bemenő vektor és a döntési vektor függvényében b)a rendszer globális célfüggvénye felírható legyen a lokális célfügvények összegeként
9
Ha ezek a feltételek teljesülnek, akkor a dinamikus programozás metódusa szerint azonosítjuk a lokális optimumokat (d i * ) amelyekre a globális célfüggvény (f * cel ) optimumot ad. Lépései: 1.optimalizáljuk az utolsó lépcsőt (a d 1 döntést) : Egy megfelelő (a feladat alakja által meghatározott) optimalizálási szubrutint használva meghatározzuk az optimális lokális döntést a belépő vektor függvényében:
10
n n-1 2 1 xnxn x n-1 x2x2 x1x1 dndn d n-1 d2d2 d1d1 x3x3 x n+1... 2. optimalizáljuk az utolsó és utolsó előtti lépcső együttesét (az optimáis helyi d 2 döntés meghatározása által):
11
Egy megfelelő (a feladat alakja által meghatározott) optimalizálási szubrutint használva meghatározzuk az optimális lokális döntést a belépő vektor függvényében: n n-1 2 1 xnxn x n-1 x2x2 x1x1 dndn d n-1 d2d2 d1d1 x3x3 x n+1...
12
n-edik lépés: optimalizáljuk az összes lépcső együttesét (az optimális helyi d n döntés meghatározása által): n n-1 2 1 xnxn x n-1 x2x2 x1x1 dndn d n-1 d2d2 d1d1 x3x3 x n+1...
13
Kiterjesztett dinamikus programozás az optimalitás elvének kiterjesztése elágazó aciklikus rendszerekre: n i 2 1 xnxn xixi x2x2 x1x1 dndn didi d2d2 d1d1 x3x3 x n+1... R 1 R j d R1 d R2j... x R1 divergens elágazó rendszer Az R j....R 1 valamint az 1...i-1 lépcsők két független soros aciklikus rendszerként optimalizálható. Ezután mindkettőre megállapítható az optimum az x i és x R1 függvényében és F * i+R1 = max(F cél,i (x i+1,d i ) + F * i-1 + F * R1 ) x i+1
14
n i 2 1 xnxn xixi x2x2 x1x1 dndn didi d2d2 d1d1 x3x3 x n+1... R 1 R j d R1 d Rj... x R+1 konvergens elágazó rendszer
15
A dinamikus programozás kiterjeszthető bypass rendszerekre is. 3 2 1 x4x4 x3x3 x2x2 x1x1 d2d2 d3d3 d4d4 21 11 x 22 x 21 x 23
16
Nemlineáris programozás Olyan feladatok esetén alkalmazzuk, amelyek egy alakú célfüggvényt minimalizálnak, a következő feltételekkel: ahol x i,min ≤ x i ≤ x i,max és f, g, h – az x i döntési változóval nemlineáris összefüggésben vannak j = 1, 2,......., k j = k+1,......., m Ilyen jellegű feladatok olyan esetekben fordulnak elő, amikor a optimalizálandó folyamatokat nemlineáris matematikai modell írja le. A nemlineáris programozás speciális esetei a kvadratikus programozás (a célfüggvény maximum négyzetes tagokat tartalmaz) és a lineárisan korlátolt optimalizálás (h és g lineárisak). A lineáris programozás is felfogható a nemlineáris programozás egy speciális eseteként.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.