Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Technológiai folyamatok optimalizálása

Hasonló előadás


Az előadások a következő témára: "Technológiai folyamatok optimalizálása"— Előadás másolata:

1 Technológiai folyamatok optimalizálása
Direkt kereső (numerikus) optimalizálási módszerek Többváltozós célfüggvények optimalizálása Ráduly Botond Mészáros Sándor

2 „Mászó-ereszkedő” módszerek
a többdimenziós célfüggvények optimalizálására használhatóak a kétváltozós optimalizálás célfüggvényének a válaszfelülete és a földfelület analógiája miatt kapták nevüket. A kétdimenziós optimalizálást úgy lehet ábrázolni mint egy sorozatos elmozdulást egy felületen a maximum vagy a minimum irányába (felfele mászás vagy lefele ereszkedés) y x1 x2

3 A mászó-ereszkedő módszerek jellemzői
- minden egyes elmozdulás kettős céllal történik: a célfüggvény egy jobb értékének elérése hasznos információ szerzése a következő elmozdulás számára - a mászó módszerek alkalmazásának szükséges feltételei: az optimalizálandó rendszer egy lehetséges megoldása, (x1...xn) – azaz a döntési változó-vektor egy kezdeti értékkészlete a szélsőérték azonosításának kívánt precizitása, ε a szélsőérték típusa (minimum vagy maximum)

4 A mászó-ereszkedő módszerek általános algoritmusa
kiszámuljuk a célfüggvény kezdeti értékét a döntési változók kezdeti vektorával – ez a kezdeti megoldásnak felel meg: f(x(k)) ; egy kereső algoritmus segítségével meghatározzuk az optimalizálási feladat egy újabb megoldását: x(k+1) kiszámuljuk a célfüggvény kezdeti értékét ebben az új pontban: f(x(k+1)) összehasonlítjuk a célfüggvény aktuális lépésbeli értékét az előző lépésbeli értékével f(x(k+1)) : f(x(k)) a) ha az új megoldás jobb mint a régi (vagyis a célfüggvény értéke az új pontban közelebb van a keresett szélsőértékhez mint az előző pontban), akkor ez a pont kezdőponttá válik egy új lépés számára b) ha az új megoldás nem jobb mint az előző, akkor meghagyjuk a kezdőpontot és megismételjük az előző két lépést

5 ellenőrizzük a szélsőérték elérését Himmelblau kritériumai segítségével:
Mindkét kritérium egyidejű teljesítése azért szükséges, hogy pl. az alábbi ábrákon látható esetekben nehogy téves következtetést vonjunk le csupán az egyik kritériumot vizsgálva: x1 x2 f(x1) f(x2) x1 x2 f(x2) f(x1)

6 A mászó-ereszkedő módszerek csoportosítása
A mászó-ereszkedő optimumkereső módszerek abban különböznek egymástól, hogy milyen eljárással keresik a következő keresési pontot. Eszerint vannak: 1. A célfüggvény deriváltját használó módszerek - gradiens módszerek - fix lépésű gradiens módszer - optimális lépésű gradiens módszer - konjugált gradiens módszerek 2. A célfüggvény értékét használó módszerek - Pattern search módszer - Rosenbrock módszer - Box módszer - stb.

7 Gradiens módszerek A célfüggvény válaszfelületén az optimum fele való elmozdulás alapjául a gradiens-vektor irányát használják. Egy függvény gradiensvektora: A gradiens egy vektor amely az adott pontban a leggyorsabb növekedés irányát határozza meg. A gradiens mindig merőleges az adott ponton átmenő konttúrra és a legrövidebb út amelyen a maximumhoz vagy a minimumhoz érhetünk.

8 A gradiens iránya a számolási pont helyzetétől függ
A gradiens iránya a számolási pont helyzetétől függ. A gradiens módszerekeben minden egyes elmozdulás után újra kell számolni a gradiens irányát.

9 A lépésenkénti elmozdulások a következő képlet szerint történnek:
ahol x – a döntési változók vektora λ – a lépés (nagysága) a célfüggvény válaszfelületén d – az elmozdulás irányvektora k – az aktuális lépésszám Az irányvektor a gradiensvektor irányával és nagyságával megegyező normált vektor, amelyet úgy kapunk meg, hogy a gradiensvektort elosztjuk a gradiensvektor normájával: ahol

10 Egy maximum kereséséhez az elmozdulások mindig a d vektor irányában történnek, ha pedig minimumot keresünk akkor – d lesz az irány. Az elmozdulás tehát mindig a legmeredekebb mászást vagy legmeredekebb ereszkedést fogja jelenteni, attól függően hogy minimumot vagy maximumot keresünk-e. A λ lépés kiválasztása két módon történhet: λ lehet egy előre meghatározott konstans érték, emelyet meg lehet felezni a kívánt precizitás elérése érdekében minden elmozduláshoz egy optimális λ* értéket számolunk ki (egy egyváltozós optimalizálási szubrutin lépésenkénti megoldásával)

11 Fix lépésű gradiens módszer
A módszer alkalmazásához szükséges: egy kezdeti megoldás, x(0) a lépés kezdeti értéke, λ(0) a keresett szélsőérték típusa (minimum vagy maximum) a kívánt precizitás, ε Keresési algoritmus: kiszámoljuk a célfüggvény értékét az első lépésben, f(x(k)), k = 0 meghatározzuk a gradienst meghatározzuk az elmozdulás irányát, d(k) meghatározzuk az új keresési pontot, x(k+1) kiszámoljuk a célfüggvény értékét az új pontban, f(x(k+1))

12 6. összehasonlítjuk a célfüggvény értékét a kezdeti pontban és az új pontban.
ha megoldás kedvező, akkor az új pont lesz a következő lépés kiinduló pontja és ismételjük a keresési algoritmust. ha a megoldás nem kedvező, akkor egy más keresési pontot határozunk meg, megtartva a d irányt de megfelezve a lépést (λ(k) = λ(k)/2) 7. A Himmelblau kritériumokkal ellenőrizzük hogy elértük-e a kívánt precizitást. Ha mindkét kritérium teljesül, akkor a keresett optimum x* = x(k) ± ε Ha a két kritérium nem teljesül egyidejűleg, akkor egy újabb keresési ciklus következik, a kezdeti lépést használva.

13 A legmerekedebb növekedés módszere (optimális lépésű gradiens módszer)
A módszer alkalmazásához szükséges: egy kezdeti megoldás, x(0) a keresett szélsőérték típusa (minimum vagy maximum) a kívánt precizitás, ε Keresési algoritmus: kiszámoljuk a célfüggvény értékét az első lépésben, f(x(k)), k = 0 meghatározzuk a gradienst meghatározzuk az elmozdulás irányát, d(k) meghatározzuk az optimális lépést, λ*(k) , a következő szubrutin megoldásával: kifejezzük az új keresési pontot λ(k) függvényében:

14 behelyettesítjük az x1....xn döntési változókat, így egy olyan célfüggvényhez jutunk amelyben az egyetlen döntési változó λ fcél(x(k+1)) = fcél(λ(k)) megoldjuk a kapott egyváltozós optimalizálási feladatot (optim(fcél(λ(k)))), hogy megtaláljuk λ* -ot meghatározzuk az új keresési pontot, x(k+1) kiszámoljuk a célfüggvény értékét az új pontban, f(x(k+1))

15 Himmelblau kritériumaival ellenőrizzük a szélsőértékpont elérését a kívánt ε precizitással:
ha mindkét kritérium teljesül egyidőben, akkor a keresett szélsőérték ha a két kritérium nem teljesül, akkor egy újabb keresési ciklust végzünk el. A gradiens módszerek a gyakorlatban akkor is alkalmazhatóak, ha a célfüggvény analitikus kifejezése illetve deriváltja nem áll rendenkezésre, hiszen egy numerikus deriválási módszerrel megkapjuk a deriváltak közelítő értékét. A gyorsabb konvergencia érdekében fejlesztették ki a konjugált gradiens módszereket. Ezekben a lépést úgy határozzák meg, hogy az elmozdulás iránya mindig az előző lépés irányának valamelyik konjugáltja legyen (minden lépésben egy újabb keresést végzünk el a konjugált irányokon).

16 Pattern search módszer
A módszer a kordinátatengelyekkel párhuzamos keresési irányokat használja. minden egyes lépésben két keresést végez: először egy helyi keresést, majd egy kiterjesztett (gyorsított) keresést. A helyi keresés mindig a λ lépéssel történik, a döntési változók egyenkénti változtatásával. A döntési változókat kezdetben mindig pozitív irányba változtatjuk, ha ez nem vezet javuláshoz, akkor pedig negatív irányba. A kapott legjobb értéket megtartjuk és a második lépésben javítjuk tovább. A módszer elkalmazásának kezdeti feltételei: egy kezdeti megoldás, x(0) a helyi keresés lépésének kezdeti értéke, λ(0) a keresett szélsőérték típusa (minimum vagy maximum) a kívánt precizitás, ε

17 Keresési algoritmus: kiszámoljuk a célfgüggvény értékét a kezdeti pontban, f(x(k)), k = 0 elkezdjük a helyi keresést az i = 1...n irányokon: először pozitív irányban keresünk: xi(k+1) = xi(k) + λ(k) kiszámoljuk a célfüggvény értékét az új pontban és összehasonlítjuk a kiindulási pontban felvett értékével ha a megoldás kedvező, akkor a következő dimenzióba (i = i + 1) lépünk és az algoritmus 3., pontjával folytatjuk. Ha a megoldás nem kedvező, akkor megismételjük a keresést negatív irányba, xi(k+1) = xi(k) - λ(k) kiszámoljuk a célfüggvény értékét az új pontban és összehasonlítjuk a kiindulási pontban felvett értékével. ha a megoldás kedvező, akkor a következő dimenzióba (i = i + 1) lépünk és az algoritmus 3., pontjával folytatjuk, az új pontot használva kiindulási pontként.

18 ha a megoldás nem kedvező, akkor a kezdeti kiindulási pontot használva agy újabb dimenzióban keresünk (i = i +1) ha a lokális keresés nem vezetne eredényre, akkor felezzük a lépést (λ = λ/2) és megismételjük a lokális keresést 3. Kiterjesztett (gyorsított) keresési lépés – abban az irányban, amely jónak bizonyult, megismételjük a keresést, egy nagyobb lépést használva: λ = a ∙ λ, a = 2...4 Amennyiben az új pontban a megoldás kedvező, úgy egy újabb kiterjesztett keresést végzünk, az aktuális lépést ismét megnövelve. A kiterjeszettett keresés szerinti elmozdulásokat addig végezzük, amíg egy kedvezőtlen eredmény nem születik. Ez esetben az aktuális keresési ciklust befejezettnek tekintjük 4. Himmelblau kritériumaival ellenőrizzük a szélsőértékpont elérését a kívánt ε precizitással:

19 ha mindkét kritérium teljesül egyidőben, akkor a keresett szélsőérték
ha a két kritérium nem teljesül egyidejűleg, akkor egy újabb keresési ciklust végzünk el (visszatérünk a 2. ponthoz, k = k + 1). x1 x2 f(x1,x2) x(0) = (40,10), λ = 1, f(x(0)) = 0 helyi keresés: x x2 f(x) ( ) gyorsított keresés: stb.

20 Rosenbrock módszer A pattern search módszer továbbfejlesztése. A különbség a két módszer között abban áll, hogy a helyi keresés nem előre rögzített irányokon történik, hanem egy ortogonális koordinarendszeren amelyet mindig a legkedvezőbb aktuális megoldás szerint újraszámolunk. A módszer elkalmazásának kezdeti feltételei: egy kezdeti megoldás, x(0) a lépésének kezdeti vektora, λ(0) a kívánt precizitás, ε egy n darab egységvektorból álló készlet amelyek a kezdeti keresési irányokat határozzák meg, d1(0)....dn(0)

21 Keresési algoritmus: kiszámoljuk a célfgüggvény értékét az kezdeti pontban, f(x(k)), k = 0 elkezdjük a helyi keresést az i = 1...n irányokon: először pozitív irányban keresünk: xi(k+1) = xi(k) + λ(k) ∙ d(k) kiszámoljuk a célfüggvény értékét az új pontban és összehasonlítjuk a kiindulási pontban felvett értékével ha a megoldás kedvező f(xi(0)) < f(xi(k) + λ(k) ∙ d(k)) akkor a lépés az adott irányon a következőképp módosul: λi(k)= α ∙ λi(k) , ahol α > 1 (általában 3). ha a megoldás nem kedvező, akkor a lépés az adott irányon a következőképpen módosul: λi(k)= β ∙ λi(k) , ahol 0 > β > -1, (általában -0.5). mindig a legjobb megoldást megtartva a következő irányokban keresünk, mindeddig míg minden irányban kedvezőtlen eredményhez jutunk

22 kiszámoljuk az összes sikeres lépés algebrai összegét,
Himmelblau kritériumaival ellenőrizzük a szélsőértékpont elérését a kívánt ε precizitással: Ha nem teljesülnek a kritériumok, akkor kiszámoljuk egy újabb keresés irányait, amelynek kiindulópontja x0(k+1) = xn(k). Az új irányok meghatározásához kiszámoljuk a következő vektorokat: D1(k) = A1(k)∙d1(k) + A2(k)∙d2(k) An(k)∙dn(k) D2(k) = A2(k)∙d2(k) An(k)∙dn(k) ... Dn(k) = An(k)∙dn(k) A következő lépés első keresési iránya párhuzamos lesz az első lépésbeli teljes elmozdulás vektorával:

23 A következő n-1 irány merőleges lesz a d(k+1) –re és a Gram-Schmidt metódussal számolhatók ki:
Az új keresési irányok meghatározásával tulajdonképpen az előző keresési irány-rendszer mindig elfordul (a kezdeti keresési irányok párhuzamosak a koordinátarendszerrel).

24 Genetikai algoritmusok
A genetikával való hasonlóságukból jön a név A célfüggvény értékét használják a kereséshez A kereséshez nem egy pontot, hanem egy pont-populációt használnak Probabilisztikus szabályok szerint keresnek (nem pedig determinisztikus szabályok szerint) Kiküszöbölik a helyi szélsőértékekben való elakadást lokális maximum xmin xmax y xmin xmax y x* x0 optim.

25 x(0) = [x1(0),… xn(0)] - a random kezdeti keresési populáció, véletlenszerű eloszlással
xmin xmax y x(0)

26 lokális maximum f(x1,x2) x1 x2

27 a kersési tartományban szétszórt kezdeti keresési populáció, véletlenszerű eloszlással
f(x1,x2) x1 x2

28 Keresési algoritmus: véletlenszerően generálunk egy kezdeti keresési populációt kiszámoljuk a célfgüggvény értékeit az kezdeti pontokban, f(x(k)), k = 0 felmérjük a populáció eloszlását és ellenőrizzük hogy elértük-e a szélsőértéket a kívánt precizitással. Ha elértük, akkor itt leáll a keresés ha nem értük el a szélsőértéket, a kezdeti populációból kiválasztjuk azon keresési pontokat, amelyek közelebb vannak a keresett szélsőértékhez (amelyekben a célfüggvény értéke nagyobb, maximum keresése esetén). Ez a megfelezett ponthalmaz képezi a reprodukció alapját. reprodukció és mutáció – megduplázzuk a kiválasztott keresési pontokat és elmozdítjuk olyan irányba, amely az eloszlás alapján a legvalószínűbb hogy a keresett szélsőértékhez vezet. Ezek a pontok képezik az új generációt (az új kezdőpontok).

29 f(x1,x2) kezdeti populáció x1 x2

30 f(x1,x2) kiválasztás reprodukció x1 x2

31 új generáció f(x1,x2) mutáció x1 x2

32 f(x1,x2) kiválasztás reprodukció x1 x2

33 f(x1,x2) mutáció x1 x2

34 f(x1,x2) kiválasztás reprodukció x1 x2

35 f(x1,x2) mutáció x1 x2

36 f(x1,x2) kiválasztás reprodukció x1 x2

37 globális maximum (optimum)
f(x1,x2) mutáció x1 x2


Letölteni ppt "Technológiai folyamatok optimalizálása"

Hasonló előadás


Google Hirdetések