Technológiai folyamatok optimalizálása

Slides:



Advertisements
Hasonló előadás
Technológiai folyamatok optimalizálása Ráduly Botond Mészáros Sándor MATLAB ® - Optimization Toolbox.
Advertisements

Lorem ipsum dolor sit amet, consectetur Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore Közlekedési.
Kristályosítási műveletek A kristályosítás elméleti alapjai Alapfogalmak Kristály: Olyan szilárd test, amelynek elemei ún. térrács alakzatot mutatnak.
Kockázat és megbízhatóság
OPERAFORDÍTÁS – LEHETETLEN KÜLDETÉS?
2. előadás Viszonyszámok
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
Programstruktúrák.
Becslés gyakorlat november 3.
Komplex természettudomány 9.évfolyam
Scilab programozás alapjai
Technológiai folyamatok optimalizálása
Egy szerkesztés nehézségei
Kockázat és megbízhatóság
A sűrűség.
LabVIEW bevezetéstől a feszültség-áram karakterisztikáig Vida Andrea
Technológiai folyamatok optimalizálása
Technológiai folyamatok optimalizálása
Kockázat és megbízhatóság
Rendszerező összefoglalás
Végeselemes modellezés matematikai alapjai
Kockázat és megbízhatóság
VákuumTECHNIKAi LABORATÓRIUMI GYAKORLATOK
Kvantitatív módszerek
A mozgási elektromágneses indukció
Technológiai folyamatok optimalizálása
Operációkutatás I. 7. előadás
Hullámdigitális jelfeldolgozás alapok 5 Híd struktúrájú szűrők
Gazdaságstatisztika Korreláció- és regressziószámítás II.
Molekuladinamika 1. A klasszikus molekuladinamika alapjai
Adatbázis-kezelés (PL/SQL)
FÜGGVÉNYEK Legyen adott A és B két nem üres (szám)halmaz. Az A halmaz minden eleméhez rendeljük hozzá a B halmaz pontosan egy elemét. Ezt az egyértelmű.
2. Bevezetés A programozásba
dr. Jeney László egyetemi adjunktus Európa regionális földrajza
Szerkezetek Dinamikája
Árverseny, Árvezérlés, Kartell
? A modell illesztése a kísérleti adatokhoz
Business Mathematics
Algoritmusok és Adatszerkezetek I.
Dr. habil. Gulyás Lajos, Ph.D. főiskolai tanár
Regressziós modellek Regressziószámítás.
Számítógépes Hálózatok
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Tilk Bence Konzulens: Dr. Horváth Gábor
Munkanélküliség.
A vállalati döntések modellezése
Készletek - Rendelési tételnagyság számítása -1
1.1. TERMELŐI DÖNTÉS Termelés: saját jószágok átalakítása a meggazdagodás érdekében Termelő célja: maximális gazdagodás a termelésből Max (megtermelt jószágok.
2. A KVANTUMMECHANIKA AXIÓMÁI
Összeállította: J. Balázs Katalin
A kutatási projekt címe Név Oktató neve Tanulmányi intézmény neve
Járműtelepi rendszermodell 2.
A szállítási probléma.
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Dr. Varga Beatrix egyetemi docens
Matematika 11.évf. 1-2.alkalom
A területi koncentráció mérése: Hirschman–Herfindahl index
Binomiális fák elmélete
Poisson egyenlettől az ideális C-V görbéig
Együtt Nyírbátorért Helyi Közösség
Fizikai kémia 2 – Reakciókinetika
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Munkagazdaságtani feladatok
Állandó és Változó Nyomású tágulási tartályok és méretezésük
Áramlástan mérés beszámoló előadás
Monopolisztikus verseny, Oligopólium
Költségfüggvények Minden kibocsátáshoz a minimális költséget rendelik hozzá A termelési függvények inverzei (dualitás) A költségfüggvények a termelési.
Algoritmusok.
Hagyományos megjelenítés
FÜGGVÉNYEK ÉS GRAFIKONJUK
Előadás másolata:

Technológiai folyamatok optimalizálása Optimalizálási feladatok megoldása MATLAB segítségével Ráduly Botond Mészáros Sándor

Feladat: Adott 3 párhuzamosan működtetett reaktor, egyenként 10, 15 illetve 20 m3 térfogatúak. Mindhárom reaktorban ugyanaz az elsőrendű reakció megy végbe: A  B, a rekcióállandó k A három reaktor összesen Q0 = 90 m3/h térfogatáramú, CA0 koncentrációjú nyersanyaggal van táplálva. Határozzuk meg a reaktorok bemenő térfogatáramát úgy, hogy az A konverziója maximális legyen. Q0, C0 Q1 Q2 Q3 V1 V2 V3 CA,1 CA,2 CA,3 Q0 = Q1 +Q2 +Q3 = 90 V1 = 10 V2 = 15 V3 = 20

Megoldás: meghatározzuk a célfüggvényt: Fcél = Q1·CA1 + Q2·CA2 + Q3·CA3 Felírjuk az anyagmérlegeket a reaktorokra: Q1·CA0 = V1 · CA1 · k Q2·CA0 = V2 · CA2 · k Q3·CA0 = V3 · CA3 · k Q1·CA0 / (V1 · k) = CA1 Q2·CA0 /( V2 · k )= CA2 Q3·CA0 /( V3 · k) = CA3 Fcél = (CA0 / k) ·(Q12/V1 + Q22/V2 + Q32/V3) Q1 +Q2 +Q3 = 90

2. megvizsgáljuk a célfüggvény és az egyenlőség típusát, meghatározzuk a feladattípust - a célfüggvény nemlineáris, a feltételek lineáris összefüggések nemlineáris optimalizálás lineáris feltételekkel „fmincon” ellenőrizzük az fmincon függvény paramétereit

x = fmincon(Fcel,x0,A,B,C,D,AH,FH, NLF, options) [ ],[ ] x = fmincon(Fcel,x0,A,B,C,D,AH,FH, NLF, options) célfüggvény nemlineáris feltétel kezdeti megoldás alsó és felső határ: AH ≤ x ≤ FH egyenlőség feltétel: C·x = D egyenlőtlenség feltétel: A·x ≤ B 3. Felírjuk a célfüggvényt: ‘2*x(1)^2 + 4/3*x(2)^2 + x(3)^2’ 4. Meghatározunk egy kezdeti megoldást, pl. x0 = [1 1 1]

5. Meghatározunk az egyenlőség típusú feltétel együtthatóit úgy, hogy C·x = D C = [1 1 1] D = [90] 6. Beírjuk az optimalizálási parancsot: [x,fval,exitflag,output] = fmincon(' ‘2*x(1)^2 + 4/3*x(2)^2 + x(3)^2’, x0, [],[],C, D) a megoldás: x = [20 30 40] fval = 3600 exitflag = 1 output = iterations: 6 funcCount: 35 stepsize: 1 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'

Feladat: Adott egy szakaszos reaktor amely egy szűrőegységhez kapcsolódik. A reakció t napot tart, ezután a reaktor tartalma a szűrőbe töltődik. A keletkező termék mennyisége a t reakcióidőtől függ és x tömegaránnyal jellemezhető (kg termék/kg töltet). A szűrés hatásfoka a termék tömegarányától (vagyis az x értékétől függ). A reaktor működtetési költsége 1000 euro/nap, a termék ára 10 euro/kg. Egy töltet tömege 500 kg. A t és x közötti összefüggést az alábbi kísérleti görbe mutatja: 1 1 x x 2 4 6 100 200 300 t a szűrés költsége (C)

Találjuk meg azt a t reakcióidőt amely maximalizálja a profitot A célfüggvény: profit = Fcél = 1/t∙(10∙500∙x - 1000∙t – C) amely a görbék segítségével kifejezhető az x függvényében. A célfüggvény tehát nem fejezhető ki analitikusan, de kiszámítható az értéke, illetve egy polinomiális regresszió segítségével megközelíthető. a kísérleti görbék adatai: x 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 t (h) 1.4 2 2.7 3.5 4.3 5.1 6 Cszűrés (euro) - 230 170 120 80 50 32 25 20 18 felrajzolni a plot(t,x,’*’) paranccsal lehet

1. Defineáljuk az x, t és C vektorokat 2. Határozzuk meg a t = f(x) függvény együtthatóit. Az erre szolgáló Matlab parancs: p = polyfit(x,t,2), ahol 2 a regresszióhoz használt polinom rangja megoldás: p = [3.9277 2.2086 -0.060839] vagyis t = 3.9277·x2 + 2.2086·x – 0.060839 ellenőrizzük a megoldás helyességét: f = polyval(p,x) majd rajzoljuk fel a kapott eredményt plot (T,x,'*', f,x,':') legend('kiserleti adatok','modell') xlabel(‘t, [euro/500 kg]') ylabel('konverzio')

a másodfokú polinom jól leírja a kísérleti adatokat  t = 3 a másodfokú polinom jól leírja a kísérleti adatokat  t = 3.9277·x2 + 2.2086·x – 0.060839

3. Határozzuk meg a C = f(x) függvény együtthatóit a már ismertetett módon. Az erre szolgáló Matlab parancs: p = polyfit(x(3:end),C,2) megoldás: p = [455.63 -802.75 370.03] vagyis C = 455.63·x2 - 802.75·x + 370.03 ellenőrizzük a megoldás helyességét: f = polyval(p,x) majd rajzoljuk fel a kapott eredményt: plot (C,x(3:end),'*', f,x,':') legend('kiserleti adatok','modell') xlabel('C, [euro/500 kg]') ylabel('konverzio')

a másodfokú polinom nem írja jól le a kísérleti adatokat  magasabb fokú polinom szükséges

Határozzuk meg a C = f(x) harmadfokú polinom együtthatóit a már ismertetett módon. Az erre szolgáló Matlab parancs: p = polyfit(x(3:end),C,3) megoldás: p = [-211.28 835.93 -1006 400.71] vagyis C = -211.28 · x3 - 835.93 · x2 - 1006 · x + 400.71 ellenőrizzük a megoldás helyességét: f = polyval(p,x) majd rajzoljuk fel a kapott eredményt: plot (C,x(3:end),'*', f,x,':') legend('kiserleti adatok','modell') xlabel('C, [euro/500 kg]') ylabel('konverzio')

a harmadfokú polinom sem írja jól le a kísérleti adatokat  magasabb fokú polinom szükséges

Határozzuk meg a C = f(x) negyedfokú polinom együtthatóit a már ismertetett módon. Az erre szolgáló Matlab parancs: p = polyfit(x(3:end),C,4) megoldás: p = [-597.32 1222.3 -356.15 -607.68 356.78] vagyis C = - 597.32 · x4 + 1222.3 · x3 - 356.15 · x2 - 607.68 · x + 356.78 ellenőrizzük a megoldás helyességét: f = polyval(p,x) majd rajzoljuk fel a kapott eredményt: plot (C,x(3:end),'*', f,x,':') legend('kiserleti adatok','modell') xlabel('C, [euro/500 kg]') ylabel('konverzio')

a negyedfokú polinom jól leírja a kísérleti adatokat, tehát C = - 597.32 · x4 + 1222.3 · x3 - 356.15 · x2 - 607.68 · x + 356.78

Az azonosított kifejezésekkel irjuk fel a célfüggvényt x függvényeként: Fcél = 1/t∙(10∙500∙x - 1000∙t - C) = = 1/ ((3.9277·x2 + 2.2086·x - 0.060839) · · (10∙500∙x - 1000∙ (3.9277·x2 + 2.2086·x - 0.060839) - - (- 597.32 · x4 + 1222.3 · x3 - 356.15 · x2 - 607.68 · x + 356.78 )) 5. Írjuk fel a feltételeket: 1 ≥ x ≥ 0.2 6. megvizsgáljuk a célfüggvény és az egyenlőség típusát, meghatározzuk a feladattípust nemlineáris optimalizálás alsó és felső határral „fmincon”

oldjuk meg a feladatot Matlab segítségével: írjuk fel a célfüggvényt: function[f] = Fcel(x) f = -(1/ (3.9277 * x^2 + 2.2086 * x - 0.060839) * ... (10 * 500 *x -1000 * (3.9277 * x^2 + 2.2086 * x - 0.060839) - ... (-597.32*x^4 + 1222.3 *x^3 -356.15*x^2 -607.68*x + 356.78))); az optimalizálási parancs: [x,fval,exitflag,output] = fmincon(@Fcel, [1], [],[],[],[], [0.2],[1]) x = 0.21696 fval = -434.74 exitflag = 1 output = iterations: 5 funcCount: 21 stepsize: 1 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'

ellenőrizzük grafikusan a profit változását a konverzió függvényében:

az optimális konverzió az adott keresési tartományban tehát x = 0 az optimális konverzió az adott keresési tartományban tehát x = 0.21696, az ennek megfelelő reakcióidő pedig t = 0.603 nap (a t = 3.9277·x2 + 2.2086·x – 0.060839 képlettel számolva).