1
PLANTWIDE CONTROLIdentifying and switching between active constraints regions
Sigurd Skogestad and Magnus G. Jacobsen
Department of Chemical EngineeringNorwegian University of Science and Tecnology (NTNU)Trondheim, Norway
EFCE conference, Berlin29 Sep. 2011
2
Outline
• Overview of economic plantwide control• Distillation case studies
– Finding and plotting active constraints regions as a function of disturbances
– Control implications– Switching– Unconstrained ”self-optimizing variables”
S. Skogestad, ``Control structure design for complete chemical plants'', Computers and Chemical Engineering, vol. 28, 219-234 (2004).
See also: http://www.nt.ntnu.no/users/skoge/plantwide/
3
cs = y1s
MPC
PID
y2s
RTO
u (valves)
Follow path (+ look after other variables)
Stabilize + avoid drift
Min J (economics)
OBJECTIVE
Ecomomic plantwide controlThe controlled variables (CVs)interconnect the layers
6
Control structure design procedure
I Top Down • Step 1: Define operational objectives (optimal operation)
– Cost function J (to be minimized)– Operational constraints
• Step 2: Identify degrees of freedom (MVs) and optimize for expected disturbances
• Step 3: Select primary controlled variables c=y1 (CVs) • Step 4: Where set the production rate? (Inventory control)
II Bottom Up • Step 5: Regulatory / stabilizing control (PID layer)
– What more to control (y2; local CVs)?– Pairing of inputs and outputs
• Step 6: Supervisory control (MPC layer)• Step 7: Real-time optimization (Do we need it?)
y1
y2
Process
MVs
7
Step 1. Define optimal operation (economics)
• What are we going to use our degrees of freedom u (MVs) for?• Define scalar cost function J(u,x,d)
– u: degrees of freedom (usually steady-state)– d: disturbances– x: states (internal variables)Typical cost function:
• Optimize operation with respect to u for given d (usually steady-state):
minu J(u,x,d)subject to:
Model equations: f(u,x,d) = 0Operational constraints: g(u,x,d) < 0
J = cost feed + cost energy – value products
8
Step 2: Identify degrees of freedom and optimize for expected disturbances
• Optimization: Identify regions of active constraints• Time consuming!
Control: 2 active constraints (xA, xB)
+ 2 “selfoptimizing”
3+1
1+3
Example (Magnus G. Jacobsen):
Two distillation columns in series.
4 degrees of freedom
3+1
4+0
5
9
Step 3: Implementation of optimal operation
• Optimal operation for given d*:
minu J(u,x,d)subject to:
Model equations: f(u,x,d) = 0Operational constraints: g(u,x,d) < 0
→ uopt(d*)
Problem: Usally cannot keep uopt constant because disturbances d change
How should we adjust the degrees of freedom (u)?
10
Implementation (in practice): Local feedback control!
“Self-optimizing control:” Constant setpoints for c gives acceptable loss
y
FeedforwardOptimizing controlLocal feedback: Control c (CV)
d
11
Question: What should we control (c)? (primary controlled variables y1=c)
• Introductory example: Runner
Issue:What should we control?
12
– Cost to be minimized, J=T– One degree of freedom (u=power)– What should we control?
Optimal operation - Runner
Optimal operation of runner
13
Sprinter (100m)
• 1. Optimal operation of Sprinter, J=T– Active constraint control:
• Maximum speed (”no thinking required”)
Optimal operation - Runner
14
• 2. Optimal operation of Marathon runner, J=T• Unconstrained optimum!• 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
Marathon (40 km)
15
Conclusion Marathon runner
c = heart rate
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
16
Step 3. What should we control (c)? (primary controlled variables y1=c)
Selection of controlled variables c
1. Control active constraints!2. Unconstrained variables: Control self-optimizing
variables!– The ideal self-optimizing variable c is the gradient (c = J/ u = Ju)– In practice, control individual measurements or combinations, c = H y
– We have developed a lot of theory for this
17
Example active constraintOptimal operation = max. throughput (active constraint)
Time
Back-off= Lost production
Rule for control of hard output constraints: “Squeeze and shift”! Reduce variance (“Squeeze”) and “shift” setpoint cs to reduce backoff
Want tight bottleneck control to reduce backoff!
18
Step 4. Where set production rate?
• Where locale the TPM (throughput manipulator)? • Very important!• Determines structure of remaining inventory (level) control system• Link between Top-down and Bottom-up parts
19
LOCATE TPM?
• Default choice: place the TPM at the feed• Consider moving if there is an important active
constraint that could otherwise not be well controlled.
20
Step 5: Regulatory control layerStep 5. Choose structure of regulatory (stabilizing) layer: (a) Identify “stabilizing” CV2s (levels, pressures, reactor
temperature,one temperature in each column, etc.). In addition, control active constraints (CV1) that require tight control (small backoff)
(b) Identify pairings (MVs to be used to control CV2), taking into account
Preferably, the same regulatory layer should be used for all operating regions without the need for reassigning inputs or outputs.
21
”Advanced control” STEP 6. SUPERVISORY LAYER
Objectives of supervisory layer:1. Switch control structures (CV1) depending on operating region
• Active constraints• self-optimizing variables
2. Perform “advanced” economic/coordination control tasks.– Control primary variables CV1 at setpoint using as degrees of freedom Setpoints to
the regulatory layer (CV2s)– Keep an eye on stabilizing layer
• Avoid saturation in stabilizing layer– Feedforward from disturbances– Make use of extra inputs– Make use of extra measurements
Implementation:• Alternative 1: Advanced control based on ”simple elements”• Alternative 2: MPC
23
Active constraint regions and implementation
• Distillation examples
24
Optimal operation distillation column
• Distillation at steady state with given p and F: N=2 DOFs, e.g. L and V• Cost to be minimized (economics)
J = - P where P= pD D + pB B – pF F – pV V
• ConstraintsPurity D: For example xD, impurity · max
Purity B: For example, xB, impurity · max
Flow constraints: min · D, B, L etc. · maxColumn capacity (flooding): V · Vmax, etc.
Pressure: 1) p given (d) 2) p free: pmin · p · pmax
Feed: 1) F given (d) 2) F free: F · Fmax
• Optimal operation: Minimize J with respect to steady-state DOFs (u)
value products
cost energy (heating+ cooling)
cost feed
25
Example column with 41 stages
u = [L V]
for expected disturbances d = (F, pV)
26
Possible constraint combinations (= 23 = 8)
1. 0*2. xD
3. xB*
4. V*5. xD, V
6. xB, V*
7. xD, xB
8. xD, xB, V (infeasible, only 2 DOFs)
*Not for this case because xB always optimally active (”Avoid product give away”)
27
Constraint regions as function of d1=F and d2=pV
3 regions
28
5 regions
Only get paid for main component (”gold”)
29
I: L – xD=0.95, V – xB? Self-optimizing?! xBs = f(pV)II: L – xD=0.95, V = VmaxIII: As in I
Control, pD independent of purity
30
I: L – xD?, V – xB? Self-optimizing? II: L – xD?, V = VmaxIII: L – xB=0.99, V = Vmax ”active constraints”
No simple decentralized structure. OK with MPC
31
2 Distillation columns in seriesWith given F (disturbance): 4 steady-state DOFs (e.g., L and V in each column)
DOF = Degree Of FreedomRef.: M.G. Jacobsen and S. Skogestad (2011)
Energy price: pV=0-0.2 $/mol (varies)Cost (J) = - Profit = pF F + pV(V1+V2) – pD1D1 – pD2D2 – pB2B2
> 95% BpD2=2 $/mol
F ~ 1.2mol/spF=1 $/mol < 4 mol/s < 2.4 mol/s
> 95% CpB2=1 $/mol
N=41αAB=1.33
N=41αBC=1.5
> 95% ApD1=1 $/mol
25 = 32 possible combinations of the 5 constraints
32 DOF = Degree Of FreedomRef.: M.G. Jacobsen and S. Skogestad (2011)
Energy price: pV=0-0.2 $/mol (varies)Cost (J) = - Profit = pF F + pV(V1+V2) – pD1D1 – pD2D2 – pB2B2
> 95% BpD2=2 $/mol
F ~ 1.2mol/spF=1 $/mol < 4 mol/s < 2.4 mol/s
> 95% CpB2=1 $/mol
1. xB = 95% BSpec. valuable product (B): Always active!Why? “Avoid product give-away”
N=41αAB=1.33
N=41αBC=1.5
> 95% ApD1=1 $/mol
2. Cheap energy: V1=4 mol/s, V2=2.4 mol/sMax. column capacity constraints active!Why? Overpurify A & C to recover more B
2 Distillation columns in series. Active constraints?
33
Active constraint regions for two distillation columns in series
[mol/s]
[$/mol]
CV = Controlled Variable
Energyprice
BOTTLENECKHigher F infeasible because all 5 constraints reached
8 regions
34
Active constraint regions for two distillation columns in series
[mol/s]
[$/mol]
CV = Controlled Variable
Assume low energy prices (pV=0.01 $/mol).How should we control the columns?
Energyprice
35
Control of Distillation columns in series
Given
LC LC
LC LC
PCPC
Assume low energy prices (pV=0.01 $/mol).How should we control the columns? Red: Basic regulatory loops
37
Control of Distillation columns in series
Given
LC LC
LC LC
PCPC
Red: Basic regulatory loops
CC
xB
xBS=95%
MAX V1 MAX V2
CONTROL ACTIVE CONSTRAINTS!
38
Control of Distillation columns in series
Given
LC LC
LC LC
PCPC
Red: Basic regulatory loops
CC
xB
xBS=95%
MAX V1 MAX V2
Remains: 1 unconstrained DOF (L1):Use for what? CV=xA? •No!! Optimal xA varies with F •Maybe: constant L1? (CV=L1)•Better: CV= xA in B1? Self-optimizing?
CONTROL ACTIVE CONSTRAINTS!
39
Active constraint regions for two distillation columns in series
CV = Controlled Variable
3 2
01
1
0
2
[mol/s]
[$/mol]
1
Cheap energy: 1 remaining unconstrained DOF (L1) -> Need to find 1 additional CVs (“self-optimizing”)
More expensive energy: 3 remaining unconstrained DOFs -> Need to find 3 additional CVs (“self-optimizing”)
Energyprice
40
Conclusion
• Generate constraint regions by offline simulation for expected important disturbances– Time consuming - so focus on important disturbance
range• Implementation / control
– Control active constraints!– Switching between these usually easy– Less obvious what to select as ”self-optimizing” CVs
for remaining unconstrained degrees of freedom
Top Related