Exercise 1, Process Control, advanced course

Like dokumenter
Optimalisering av olje- og gassproduksjon. Vidar Alstad Dr. Ing stipendiat Institutt for kjemisk prosessteknologi NTNU, Trondheim

SVM and Complementary Slackness

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Oppgave. føden)? i tråd med

Slope-Intercept Formula

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Eksamen i TTK4135 Optimalisering og regulering

a) The loop transfer function with the process model with a P controller is given by h 0 (s) = h c (s)h p (s) = K p (1 + s)(2 + s) K p

The exam consists of 2 problems. Both must be answered. English

SCE1106 Control Theory

EKSAMENSOPPGAVE I FAG TKP 4105

Generalization of age-structured models in theory and practice

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

2003/05-001: Dynamics / Dynamikk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Andrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Denne casen skal gi innblikk i fenomenet skin effekt i strømskinner. Det skal også fokuseres på induserte strømmer i ledere.

MA2501 Numerical methods

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Ma Linær Algebra og Geometri Øving 1

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Splitting the differential Riccati equation

Skjema for spørsmål og svar angående: Skuddbeskyttende skjold Saksnr TED: 2014/S

HØGSKOLEN I NARVIK - SIVILINGENIØRUTDANNINGEN

EKSAMENSOPPGAVE I SØK2005 FINANSMARKEDER

Oblig 2 - MAT1120. Fredrik Meyer 23. september 2009 A =

EKSAMENSOPPGAVE I SØK3004 VIDEREGÅENDE MATEMATISK ANALYSE ADVANCED MATHEMATICS

Checking Assumptions

Information search for the research protocol in IIC/IID

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Optimaliserende regulering av komplekse prosesser

Bokmål / Nynorsk / English NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR FYSIKK. Eksamen TFY4185 Måleteknikk

Neural Network. Sensors Sorter

Eksamensoppgave i SØK2008 Offentlig økonomi

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd

Checking Assumptions

Exercise 1: Phase Splitter DC Operation

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Eksamen i emnet Mat131 - Differensiallikningar I Onsdag 25. mai 2016, kl.

Juridiske aspekter ved publisering i åpne institusjonelle arkiv

ECON3120/4120 Mathematics 2, spring 2004 Problem solutions for the seminar on 5 May Old exam problems

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences. Matlab-utskrift (1 side).

EXAM IN TIØ4120 OPERASJONSANALYSE GRUNNKURS

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

IN2010: Algoritmer og Datastrukturer Series 2

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Øvingsforelesning 5 Python (TDT4110)

Trådløsnett med Windows XP. Wireless network with Windows XP

Oppgavesett kap. 6 (3 av..) GEF2200

Smart Produksjon En strategi for kostnadseffektiv produksjon og produktutviking

Trigonometric Substitution

Maple Basics. K. Cooper

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

FYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)

SAMPOL115 Emneevaluering høsten 2014

EKSAMENSOPPGAVE I SØK 1002 INNFØRING I MIKROØKONOMISK ANALYSE

Dynamic Programming Longest Common Subsequence. Class 27

TMA4240 Statistikk 2014

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Øvingsforelesning 5 Python (TDT4110)

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET Side 1 av 5 INSTITUTT FOR ENERGI- OG PROSESSTEKNIKK

GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006)

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

Endringer i neste revisjon av EHF / Changes in the next revision of EHF 1. October 2015

SAS-feil kavalkade. Viggo Skar Oslo Universitetssykehus HF (OUS)

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

Bokmål / Nynorsk / English NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR FYSIKK. Eksamen TFY4185 Måleteknikk

Løsningsførslag i Matematikk 4D, 4N, 4M

230V 110V 25% (230V) 110V 110V 230V

Siste seminar: Foreslåtte oppgaver basert på ønsker.

Høgskoleni Østfold UTSATT EKSAMEN. Emnekode: Course: Mikroøkonomi med anvendelser ( 10 ECTS) SFB 10804

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

Den som gjør godt, er av Gud (Multilingual Edition)

Matematikk Øvingsoppgaver i numerikk leksjon 1. Løsningsforslag

Improving Customer Relationships

EN Skriving for kommunikasjon og tenkning

Matematikk Øvingsoppgaver i numerikk leksjon 11 Eulers metode. Løsningsforslag

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

stjerneponcho for voksne star poncho for grown ups

Kartleggingsskjema / Survey

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1

Start MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5

OTC USE IN NORWAY FOR PARACETAMOL, ATC-CODE: N02BE01

EKSAMENSOPPGAVE I SØK3004 VIDEREGÅENDE MATEMATISK ANALYSE ADVANCED MATHEMATICS

Transkript:

Exercise 1, Process Control, advanced course Henrik Manum September 22, 2005 Contents 1 Problem 1. Optimization 1 1.1 Case I................................................ 1 1.1.1 Deloppgave a........................................ 2 1.1.2 Deloppgave b........................................ 2 1.1.3 Deloppgave c........................................ 3 1.1.4 Deloppgave d........................................ 3 1.1.5 Deloppgave e........................................ 3 2 Problem 2. Optimal operation 4 2.1 Maximum gain........................................... 4 2.2 Bruteforce.............................................. 6 2.3 Would your results change if we included the implementation error on the active constraints? 10 1 Problem 1. Optimization 1.1 Case I Jeg implementerer problemet i Matlab som vist under. % Oppgave 1a) clear all;clc octane = [99 105 95 99] ; benzene = [0 0 0 2] ; % oktantall % %-innhold 1

pris = [0.3 0.2 0.12 0.2] ; % $/kg, altså pris/masse H = zeros(4,4); f = pris; A = [-octane ; benzene ; 1 0 0 0; % max weigth fraction str 1 0.4 -eye(4)]; b = [-98 1 0.4 zeros(1,4)] ; Aeq = ones(1,4); % summen av massefraksjonene er 1 beq = 1; [w,fval,exitflag,output,lambda] = quadprog(h,f,a,b,aeq,beq); w,fval,a*w-b 1.1.1 Deloppgave a >> fval, A*w - b fval = 0.1232 ans = -1.0000 0.0000-0.4000-0.1400-0.4600 >> Ved å betrakte output en fra Matlab og skriptet (som definerer A og b) ser vi at det er tre akttive ulikheter. I tillegg er selvfølgelig likheten e T w = 1 aktiv, hvor e = (1, 1, 1, 1). De tre aktive ulikhetene er { oktanspec, maksimal vektfraksjon av strøm 1, w 4 0 }. Prosessen har fire pådrag u = (w 1, w 2, w 3, w 4 ). Siden vi har 3 aktive ulikheter og en likhetsbeting er det ingen flere frihetsgrader igjen. Parring: En åpenbar parring er kanskje å regulere w 4 = 0 med strøm 4. Siden makimal w 1 er aktiv kan vi kanskje bruke strøm 1 for å regulere dette. Videre foreslår jeg å bruke strøm 2 til å holde oktanspesifikasjonen på sin grense og den siste ventilen (strøm 3) til å regulere e T w = 1. 1.1.2 Deloppgave b >> fval, A*w - b fval = 0.1432 ans = -1.0000 2

>> -0.4000-0.1400-0.4600 Vi ser at løsningsvektoren er den samme som i deloppgave a, men siden prisen på råvarer har økt har fval blitt litt større. (Altså objektfunksjonen). De aktive skranker og antall frihetsgrader den de samme som i a, og regulerings-diskusjonen blir også den samme som over. 1.1.3 Deloppgave c Det ser ut som om settet av aktive beskrankninger res når prisen for strøm 1 går over 0.15 $/kg. 1.1.4 Deloppgave d >> fval, A*w - b fval = 0.1175 ans = 0-0.1500-0.2500 0-0.2500-0.5000 >> Settet av aktive skranker er nå A = { oktan spec, benzene spec, må ha positiv vektfraksjon fra strøm 2 }. I tillegg er selvfølgelig e T w = 1 aktiv. Vi har like mange aktive skranker som vi har pådrag, følgelig har vi ingen flere frihetsgrader igjen hvis vi velger å regulere de aktive skrankene. Parring: Vi trenger å regulere alle de aktive beskrankningene. Siden w 2 0 er aktiv, bør vi kanskje parre denne med ventilen på strøm 2. Siden den eneste strømmen med benzene er strøm 4, kan vi kanskje parre benzene-spec en med ventilen på strøm 4. Videre kan vi parre strøm 2 med oktan-spec en (størst strømning) og tilslutt e T w = 1 med det siste pådraget (ventil på strøm 1), men de siste to parringene kan sikkert byttes hvis de skulle være ønskelig. 1.1.5 Deloppgave e pris = [0.3 0.2 0.12 0.2] ; gir aktivt sett A = { oktan spec, vektfrak. str 1 = 0, vektfrak. str 4 = 0 } 3

2 Problem 2. Optimal operation i). fval med d = 95 er 0.1372, mens fval med d = 97 er 0.1260. ii). 2.1 Maximum gain Implementerer problemet i Matlab på følge måte: % Oppgave 2) clc;clear all; d = 95; c = 0.1; octane = [99 105 d 99] ; % oktantall benzene = [0 0 0 2] ; % %-innhold pris = [c 0.2 0.12 0.185] ; % $/kg, altså pris/masse % x := weigth fractions H = zeros(4,4); H(1,1) = 2*c; % the price of str 1 is a function of how much we use f = pris; A = [-octane ; benzene ; 1 0 0 0; % max weigth fraction str 1: 0.4 -eye(4)]; b = [-98 1 0.4 zeros(1,4)] ; Aeq = ones(1,4); % summen av massefraksjonene er 1 beq = 1; [w0,fval,exitflag,output,lambda] = quadprog(h,f,a,b,aeq,beq); w0,fval,a*w0-b % tester forskjellige mulige kontrollerte variable % m1 := konst % må finne span(c=m1) % Kjører en simulering ved d = 97 A = [-octane ; benzene ; 1 0 0 0; % max weigth fraction str 1: 0.4 -eye(4)]; [w,fval,exitflag,output,lambda] = quadprog(h,f,a,b,aeq,beq); w,fval,a*w-b % w := løsning ved d = 97 %...søker deretter gain... % must find how c(==m1) changes with u(==m2), given that the constraints % must be fulfilled. This gives G. To find Gs you also need to consider the % optimal variation in each variable % Active constraints at this point = { m_tot = 1, m_4 = 0, Octane = 98 } d = 95;octane = [99 105 d 99] ; % oktantall 4

Ac = [% sum vektfrak = 1 octane ; % oktantall = 98 % m4 := 0 0 1 0 0]; % m2 := indepent variable delta = 0.05; % m2 er normalisert, 0 <= m2 <= 1 m2 = w0(2) + delta; % pertuberer m2 med delta w0 (løsning ved d=95) b_ac = [1 98 0 m2] ; w2 = Ac\b_ac; % holder resten av de aktive beg. konst + gir m2 impl_error = 0.01; span_m1 = abs(w(1) - w0(1)) + abs(impl_error); % span i m1 gain(1) = abs((w2(1) - w0(1))/delta/span_m1) % gain c (m1) -> m2 Gain{1} = m1 % m2 := konstant % uskalert gain fra m2 -> m2 må være 1. g_m2_m2 = (w2(2) - w0(2))/delta; % == 1 span_m2 = abs(w(2) - w0(2)) + abs(impl_error) gain(2) = abs(g_m2_m2)/span_m2 Gain{2} = m2 % m3 := konstant g_m3_m2 = (w2(3) - w0(3))/delta; span_m3 = abs(w(3) - w0(3)) + abs(impl_error) gain(3) = abs(g_m3_m2)/span_m3 Gain{3} = m3 % m1/m2 := konstant g_m1m2_m2 = (w2(1)/w2(2) - w0(1)/w0(2))/delta span_m1m2 = abs(w(1)/w(2) - w0(1)/w0(2)) +... max([abs((w(1)+impl_error)/w(2)) abs((w(1)-impl_error)/w(2))... abs((w(1))/(w(2)+impl_error)) abs((w(1))/(w(2)-impl_error))]) gain(4) = abs(g_m1m2_m2)/span_m1m2 Gain{4} = m1/m2 % linear combination of m1 and m2 % må først finne optimal kombinasjon % bør prøve være i nærheten av optimalt område, og bare pertubere d litt % for å finne sensitivitetsmatrisa F % "maksimalt" utslag i d = 95 + 2. Ønsker å sjekke et mindre utslag dd = 95 + 2*0.05; octane = [99 105 dd 99] ; % oktantall A = [-octane ; benzene ; 1 0 0 0; % max weigth fraction str 1: 0.4 -eye(4)]; [wd,fval,exitflag,output,lambda] = quadprog(h,f,a,b,aeq,beq); F(1,1) = (w0(1) - wd(1))/2/0.05; F(2,1) = (w0(2) - wd(2))/2/0.05; F(3,1) = (w0(3) - wd(3))/2/0.05; F(4,1) = (w0(4) - wd(4))/2/0.05; % m1 og m2 h1{1} = 1; h2{1} = -F(1,1)/F(2,1); 5

% m2 og m3 h1{2} = 1; h2{2} = -F(2,1)/F(3,1); % m3 og m4 Egentlig menigsløst, da m4 er brukt fra før (m4=0 er aktiv) h1{3} = 1; h2{3} = -F(3,1)/F(4,1); % blir veldig stor. altså bruk bare m4, noe vi visste % bektakter derfor bare m1 - m2 og m2 - m3 % m1 + h2{1}*m2 g_l1_m2 = ((w2(1)+h2{1}*w2(2))- (w0(1)+h2{1}*w0(2)))/delta; span_l1 = abs((w(1)+h2{1}*w(2)) - (w0(1)+h2{1}*w0(2))) + abs((1+abs(h2{1}))... *impl_error) gain(5) = abs(g_l1_m2)/span_l1 Gain{5} = m1-0.53m2 % m2 + h2{2}*m3 g_l2_m2 = ((w2(2)+h2{2}*w2(3))- (w0(2)+h2{2}*w0(3)))/delta; span_l2 = abs((w(2)+h2{2}*w(3)) - (w0(2)+h2{2}*w0(3))) + abs((1+abs(h2{2}))... *impl_error) gain(6) = abs(g_l2_m2)/span_l2 Gain{6} = m2+0.65m3 Resultatet av analysen er vist i tabell 1. Jeg droppet å ta med lineærkombinasjonen av m 3 og m 4, da skranken m 4 0 er aktiv. c G span(c) G s = G span(c) Rank m 1-2.5 0.07 35.7 3 m 2 1.0 0.1310 7.6 5 m 3 1.5 0.1910 7.9 4 m 1 /m 2 15.6 4.42 3.5 6 m 1 0.53m 2 3.03 0.020 152.1 1 m 2 + 0.65m 3 1.978 0.0195 101.3 2 Table 1: Maximum gain 2.2 Bruteforce Impelmentering i Matlab: % brute force evaluering av de valgte kontrollerte variable. Kjør case2.m % først for å genrere variable etc... cost = inline( 0.5*x *H*x + f *x, x, H, f ); A = [-octane ; benzene ; 1 0 0 0; % max weigth fraction str 1: 0.4 -eye(4)]; 6

b = [-98 1 0.4 zeros(1,4)] ; % m1 := konstant 1 0 0 0;] c = [98 1 0 0.26] ; % m1 = 0.26 fra optimalisering n = 1; c(4) = 0.26 + impl_error; c(4) = 0.26 - impl_error; % m2 := konstant 0 1 0 0;] c = [98 1 0 w0(2)] ; n = 2; c(4) = w0(2) + impl_error; c(4) = w0(2) - impl_error; % m3 := konstant 7

0 0 1 0;] c = [98 1 0 w0(3)] ; n = 3; c(4) = w0(3) + impl_error; c(4) = w0(3) - impl_error; % m1/m2 := konstant 1 -w0(1)/w0(2) 0 0;] c = [98 1 0 0] ; n = 4; c = [98 1 0 impl_error*(1+(w0(1)/w0(2)))] ; % impl_error i m1/m2 c = [98 1 0 -impl_error*(1+(w0(1)/w0(2)))] ; % lineærkombinasjonen l1 = m1 + h2{1}*m2 1 h2{1} 0 0;] konst = w0(1) + h2{1}*w0(2); c = [98 1 0 konst] ; n = 5; c(4) = konst + (abs(1)+abs(h2{1}))*impl_error 8

c(4) = konst - (abs(1)+abs(h2{1}))*impl_error % lineærkombinasjonen l2 = m2 + h2{2}*m3 0 1 h2{2} 0;] konst = w0(2) + h2{2}*w0(3); c = [98 1 0 konst] ; n = 6; c(4) = konst + (abs(1)+abs(h2{2}))*impl_error c(4) = konst - (abs(1)+abs(h2{2}))*impl_error j_opt_d = cost(w,h,f); % optimal cost at d = 0.97 (see case2.m) for i = 1:6 j(i).loss = j(i).worst - j_opt_d; Resultatet av analysen er samlet i tabell 2. Man ser at denne analysen gir samme resultat som maximum gain analysen, nemlig at lineærkombinasjonen av m 1 og m 2 er det beste valget vi kan gjøre. Kandidat variabel m 1 m 2 m 3 m 1 /m 2 m 1 0.53m 2 m 2 + 0.65m 3 L(d) = J(c s + n, d) J opt (d) 4.9 10 4 infeasible infeasible 8.6 10 4 3.1 10 5 7.0 10 5 Table 2: Brute force 9

2.3 Would your results change if we included the implementation error on the active constraints? Det er opplagt at de aktive skrankene skal kontrolleres, så dette ville ikke res. Når disse regulerte variable pga implementasjonsfeil ikke er ved sitt settpunkt regner jeg med at avvikene kan betraktes som forstyrrr, slik at dimensjonen på d øker. Analysen blir den samme, men vi må undersøke hvordan de regulerte variable takler de nye forstyrrne, og dette kan naturligvis påvirke valget av kontrollerte variable. 10