Technológiai folyamatok optimalizálása

Slides:



Advertisements
Hasonló előadás
Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore Közlekedési.
Advertisements

TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
Hullámmozgás. Hullámmozgás  A lazán felfüggesztett gumiszalagra merőlegesen ráütünk, akkor a gumiszalag megütött része rezgőmozgást végez.
Vetésforgó tervezése és kivitelezése. Vetésforgó Vetésterv növényi sorrend kialakításához őszi búza250 ha őszi árpa50 ha lucerna ebből új telepítés 300.
Muraközy Balázs: Mely vállalatok válnak gazellává?
2. előadás Viszonyszámok
Adatbázis normalizálás
Pályaválasztási tanácsadás
Frekvencia függvényében változó jellemzők mérése
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Becslés gyakorlat november 3.
Komplex természettudomány 9.évfolyam
Microsoft Office Publisher
Technológiai folyamatok optimalizálása
A közigazgatással foglalkozó tudományok
Lineáris függvények.
PHP - függvények.
Észlelés és egyéni döntéshozatal, tanulás
Kockázat és megbízhatóság
Tömörítés.
Becsléselmélet - Konzultáció
 : a forgásszög az x tengelytől pozitív forgásirányában felmért szög
KRE-AKTÍV motivációs projekt
Technológiai folyamatok optimalizálása
Technológiai folyamatok optimalizálása
Technológiai folyamatok optimalizálása
CSOPORT - A minőségellenőrök egy megfelelő csoportja
A kétszintű érettségi.
Kockázat és megbízhatóság
Végeselemes modellezés matematikai alapjai
Monte Carlo integrálás
Szervezetfejlesztés II. előadás
Kvantitatív módszerek
A mozgási elektromágneses indukció
Hipotézisvizsgálat.
 : a forgásszög az x tengelytől pozitív forgásirányában felmért szög
ET Erőforrás tervezés Resource Planning
Adatbázis-kezelés (PL/SQL)
Egy test forgómozgást végez, ha minden pontja ugyanazon pont, vagy egyenes körül kering. Például az óriáskerék kabinjai nem forgómozgást végeznek, mert.
2. Bevezetés A programozásba
Szerkezetek Dinamikája
Kvantitatív módszerek
Közigazgatási alapvizsga a Probono rendszerben
Kvantitatív módszerek
Business Mathematics
Algoritmusok és Adatszerkezetek I.
Tilk Bence Konzulens: Dr. Horváth Gábor
Készletek - Rendelési tételnagyság számítása -1
A csoportok tanulása, mint a szervezeti tanulás alapja
3. előadás.
Gauss-eloszlás illesztése adatokra Maximum Likelihood és Bayes-módszer
2. A KVANTUMMECHANIKA AXIÓMÁI
TÁRGYI ESZKÖZÖK ELSZÁMOLÁSA
Matematikai Analízis elemei
Matematika I. BGRMA1GNNC BGRMA1GNNB 8. előadás.
Algoritmusok és Adatszerkezetek I.
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL I. HELYZETFELMÉRŐ SZINT FOLYAMATA 8
További rendező és kereső algoritmusok
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Matematika 11.évf. 1-2.alkalom
Binomiális fák elmélete
Fizikai kémia 2 – Reakciókinetika
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Munkagazdaságtani feladatok
3. előadás.
Vektorok © Vidra Gábor,
A geometriai transzformációk
Pszichológia BA műhelymunka és szakdolgozat tájékoztató
Algoritmusok.
FÜGGVÉNYEK ÉS GRAFIKONJUK
Előadás másolata:

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

„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

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)

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

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)

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.

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.

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.

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

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)

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))

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.

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:

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))

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).

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, ε

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.

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:

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: x1 x2 f(x) 41 10 0 (39 10 -0.9) 40 11 0.1 gyorsított keresés: 40 12 0.4 40 16 1.2 40 24 3.5 40 40 1.9 stb.

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)

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

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:

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).

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.

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

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

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

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).

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

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

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

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

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

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

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

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

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