1
From process control to business control:A systematic approach for CV-selection
Sigurd Skogestad
Department of Chemical Engineering
Norwegian University of Science and Technology (NTNU)
Trondheim
PIC-konferens, Stockholm, 29. mai 2013
CV = Controlled variable
Porsgrunn, 12 June 2013
2
Sigurd Skogestad
• 1955: Born in Flekkefjord, Norway• 1978: MS (Siv.ing.) in chemical engineering at NTNU• 1979-1983: Worked at Norsk Hydro co. (process simulation)• 1987: PhD from Caltech (supervisor: Manfred Morari)• 1987-present: Professor of chemical engineering at NTNU• 1999-2009: Head of Department
• 170 journal publications• Book: Multivariable Feedback Control (Wiley 1996; 2005)
– 1989: Ted Peterson Best Paper Award by the CAST division of AIChE – 1990: George S. Axelby Outstanding Paper Award by the Control System Society of IEEE – 1992: O. Hugo Schuck Best Paper Award by the American Automatic Control Council– 2006: Best paper award for paper published in 2004 in Computers and chemical engineering. – 2011: Process Automation Hall of Fame (US)
3
Optimal operation of systems (outline)• «System» = Chemical process plant, Airplane, Business, ….
General approach
1. Classify variables (MV=u, DV=d, Measurements y)
2. Obtain model (dynamic or steady state)
3. Define optimal operation: Cost J, constraints, disturbances
4. Find optimal operation: Solve optimization problem
5. Implement optimal operation: What should we control (CV=c=Hy) ?• Need one CV for each MV
• Applications– Runner– KPI’s– Process control– ...
4
Optimal operation of a given system
• 1. Classify variables– Manipulated variables (MVs) = Degrees of freedom (inputs): u
– Disturbance variables (DVs) = “inputs” outside our control: d
– Measured variables: y (information about the system)
– States = Variables that define initial state: x
• Question: How should we set the MVs (inputs u)• 3. Quantitative approach: Define scalar cost J
+ define constraints
+ define expected disturbances
Systemu
d x
y 2. Model of system (typical):dx/dt = f(x,u,d)
y = fy(x,u,d)
5
3. Define optimal operation (economics)
What are we going to use our degrees of freedom u (MVs) for?1.Define scalar cost function J(u,x,d)
2.Identify constraints– min. and max. flows – Product specifications– Safety limitations– Other operational constraints
J = cost feed + cost energy – value products [$/s]
6
Optimal operation distillation column
• Distillation at steady state with given p and F: 2 DOFs, e.g. L and V (u)
• Cost to be minimized (economics)
J = - P where P= pD D + pB B – pF F – pVV
• Constraints
Purity D: For example xD, impurity · max
Purity B: For example, xB, impurity · max
Flow constraints: min · D, B, L etc. · max
Column capacity (flooding): V · Vmax, etc.
Pressure: 1) p given (d) 2) p free (u): pmin · p · pmax
Feed: 1) F given (d) 2) F free (u): F · Fmax
• Optimal operation: Minimize J with respect to steady-state DOFs (u)
value products
cost energy (heating+ cooling)
cost feed
7
4. Find optimal operation:Solve optimization problem to find uopt(d)
Find optimal constraint regions (as a function of d)
Optimize operation with respect to u for given disturbance d (usually steady-state):
minu J(u,x,d)subject to:
Model equations: f(u,x,d) = 0Constraints: g(u,x,d) < 0
8
Energyprice
Example: optimal constraint regions (as a function of d)
9
5. Implement optimal operation
• Our task as control engineers!
• Theoretical (centralized): Reoptimize continouosly
• Practical (hierarchical): Find one CV for each MV
10
Centralized implementation: Optimizing control (theoretically best)
Estimate present state + disturbances d from measurements y and recompute uopt(d)
Problem:COMPLICATED!Requires detailed model and description of uncertainty
y
Implementation of optimal operation
11
Hierarchical implementation (practically best)
Direktør
Prosessingeniør
Operatør
Logikk / velgere / operatør
PID-regulator
u = valves
Implementation of optimal operation
12
PID
RTO
MPC
Implementation of optimal operation
Hierarchical implementation (practically best)
u = valves
13
What should we control?
y1 = c =Hy? (economics)
y2 = H2y (stabilization)
14
Self-optimizing Control
Self-optimizing control is when acceptable operation can be achieved using constant set points (c
s)
for the controlled variables c
(without re-optimizing when disturbances occur).
c=cs
15
Implementation of optimal operation
• Idea: Replace optimization by setpoint control
• Optimal solution is usually at constraints, that is, most of the degrees of freedom u0 are used to satisfy “active constraints”, g(u0,d) = 0
• CONTROL ACTIVE CONSTRAINTS!– Implementation of active constraints is usually simple.
• WHAT MORE SHOULD WE CONTROL?– Find variables c for remaining
unconstrained degrees of freedom u.
u
cost J
16
– Cost to be minimized, J=T
– One degree of freedom (u=power)
– What should we control?
Optimal operation - Runner
Optimal operation of runner
17
Self-optimizing control: Sprinter (100m)
• 1. Optimal operation of Sprinter, J=T– Active constraint control:
• Maximum speed (”no thinking required”)
Optimal operation - Runner
18
• 2. Optimal operation of Marathon runner, J=T
Optimal operation - Runner
Self-optimizing control: Marathon (40 km)
21
• Optimal operation of Marathon runner, J=T• Any self-optimizing variable c (to control at
constant setpoint)?• c1 = distance to leader of race
• c2 = speed
• c3 = heart rate
• c4 = level of lactate in muscles
Optimal operation - Runner
Self-optimizing control: Marathon (40 km)
22
Ideal “self-optimizing” variable
The ideal self-optimizing variable c is the gradient:
c = J/ u = Ju
– Keep gradient at zero for all disturbances (c = Ju=0)
– Problem: Usually no measurement of gradient, that is, cannot write Ju=Hy
Unconstrained degrees of freedom
u
cost J
Ju=0
Ju
23
Unconstrained variables
H
measurement noise
steady-statecontrol error
disturbance
controlled variable
/ selection
Ideal: c = Ju
In practise: c = H y
24
Candidate controlled variables c for self-optimizing control
Intuitive:
1. The optimal value of c should be insensitive to disturbances
2. Optimum should be flat ( ->insensitive to implementation error).
Equivalently: Value of c should be sensitive to degrees of freedom u.
Unconstrained optimum
BADGoodGood
25
Nullspace method
No measurement noise (ny=0) CV=Measurement combination
Ref: Alstad & Skogestad, 2007
26
Example. Nullspace Method for Marathon runner
u = power, d = slope [degrees]
y1 = hr [beat/min], y2 = v [m/s]
F = dyopt/dd = [0.25 -0.2]’
H = [h1 h2]]
HF = 0 -> h1 f1 + h2 f2 = 0.25 h1 – 0.2 h2 = 0
Choose h1 = 1 -> h2 = 0.25/0.2 = 1.25
Conclusion: c = hr + 1.25 v
Control c = constant -> hr increases when v decreases (OK uphill!)
CV=Measurement combination
28
Ref: Halvorsen et al. I&ECR, 2003
Alstad et al, , JPC, 2009
”Exact local method” (with measurement noise)
u
J
( )opt ou d
Loss
'd
Controlled variables,c yH
ydG
cs = constant +
+
+
+
+
- K
H
yG y
'yn
cm
u
dW nW
d
optu
CV=Measurement combination
Analytic solution for the case of “full” H
With measurement noise)
29
Conclusion Marathon runner
c = heart rate
Simplest: select one measurement
• Simple and robust implementation• Disturbances are indirectly handled by keeping a constant heart rate• May have infrequent adjustment of setpoint (heart rate)
Optimal operation - Runner
30
Further examples
• Central bank. J = welfare. c=inflation rate (2.5%)• Cake baking. J = nice taste, c = Temperature (200C)• Business, J = profit. c = ”Key performance indicator (KPI), e.g.
– Response time to order– Energy consumption pr. kg or unit– Number of employees– Research spendingOptimal values obtained by ”benchmarking”
• Investment (portofolio management). J = profit. c = Fraction of investment in shares (50%)
• Biological systems:– ”Self-optimizing” controlled variables c have been found by natural
selection– Need to do ”reverse engineering” :
• Find the controlled variables used in nature• From this identify what overall objective J the biological system has been
attempting to optimize
31
Sigurd’s rules for CV selection
1. Always control active constraints! (almost always)
2. Purity constraint on expensive product always active (no overpurification):
(a) "Avoid product give away" (e.g., sell water as expensive product)
(b) Save energy (costs energy to overpurify)
3. Unconstrained optimum: NEVER try to control a variable that reaches max or min at the optimum
–For example, never try to control directly the cost J• Will give infeasibility
33
Example: Optimal blending of gasoline
Stream 1
Stream 2
Stream 3
Stream 4
Product 1 kg/s
Stream 1 99 octane 0 % benzene p1 = (0.1 + m1) $/kg
Stream 2 105 octane 0 % benzene p2 = 0.200 $/kg
Stream 3 95 → 97 octane
0 % benzene p3 = 0.120 $/kg
Stream 4 99 octane 2 % benzene p4 = 0.185 $/kg
Product > 98 octane < 1 % benzene
Disturbance
m1 = ? (· 0.4)
m2 = ?
m3 = ?
m4 = ?
34
Optimal solution
• Degrees of freedom
u = (m m2 m3 m4 )T
• Optimization problem: MinimizeJ = i pi mi = (0.1 + m1) m1 + 0.2 m2 + 0.12 m3 + 0.185 m4
subject tom1 + m2 + m3 + m4 = 1
m1 ¸ 0; m2 ¸ 0; m3 ¸ 0; m4 ¸ 0
m1 · 0.4
99 m1 + 105 m2 + 95 m3 + 99 m4 ¸ 98 (octane constraint)
2 m4 · 1 (benzene constraint)
• Nominal optimal solution (d* = 95):
uopt = (0.26 0.196 0.544 0)T ) Jopt=0.13724 $ • Optimal solution with d=octane stream 3=97:
uopt = (0.20 0.075 0.725 0)T ) Jopt=0.13724 $ • 3 active constraints ) 1 unconstrained degree of freedom
35
Implementation of optimal solution
• Available ”measurements”: y = (m1 m2 m3 m4)T
• Control active constraints:– Keep m4 = 0– Adjust one (or more) flow such that m1+m2+m3+m4 = 1– Adjust one (or more) flow such that product octane = 98
• Remaining unconstrained degree of freedom1. c=m1 is constant at 0.126 ) Loss = 0.00036 $
2. c=m2 is constant at 0.196 ) Infeasible (cannot satisfy octane = 98)
3. c=m3 is constant at 0.544 ) Loss = 0.00582 $
• Optimal combination of measurementsc = h1 m1 + h2 m2 + h3 ma
From optimization: mopt = F d where sensitivity matrix F = (-0.03 -0.06 0.09)T
Requirement: HF = 0 )
-0.03 h1 – 0.06 h2 + 0.09 h3 = 0This has infinite number of solutions (since we have 3 measurements and only ned 2):
c = m1 – 0.5 m2 is constant at 0.162 ) Loss = 0
c = 3 m1 + m3 is constant at 1.32 ) Loss = 0
c = 1.5 m2 + m3 is constant at 0.83 ) Loss = 0
• Easily implemented in control system
36
Example of practical implementation of optimal blending
• Selected ”self-optimizing” variable: c = m1 – 0.5 m2 • Changes in feed octane (stream 3) detected by octane controller (OC)• Implementation is optimal provided active constraints do not change • Price changes can be included as corrections on setpoint cs
FC
OC
mtot.s = 1 kg/s
mtot
m3
m4 = 0 kg/s
Octanes = 98
Octane
m2
Stream 2
Stream 1
Stream 3
Stream 4
cs = 0.162
0.5
m1 = cs + 0.5 m2
Octane varies
37
Conclusion.Optimal operation of systems • «System» = Chemical process plant, Airplane, Business, ….
General approach
1. Classify variables (MV=u, DV=d,)
2. Obtain model (dynamic or steady state)
3. Define optimal operation: Cost J, constraints, disturbances
4. Find optimal operation: Solve optimization problem• Identify active constraint regions
5. Implement optimal operation: What should we control (CV=c) • Need one CV (KPI) for each MV
1. Control active constraints
2. Control «self-optimizing» variables, c=Hy ≈ Ju