540 likes | 551 Views
Explore the concept of self-optimizing control in various applications such as process industries, biology, and marathon running. Learn how to implement optimal operation and control using key performance indicators. Discover practical examples and strategies for self-optimizing systems.
E N D
Selv-optimaliserende reguleringAnvendelser mot prosessindustrien, biologi og maratonløping Sigurd Skogestad Institutt for kjemisk prosessteknologi, NTNU, Trondheim HC, 31. januar 2012
Self-optimizing controlFrom key performance indicators to control of biological systems Sigurd Skogestad Department of Chemical Engineering Norwegian University of Science and Technology (NTNU) Trondheim PSE 2003, Kunming, 05-10 Jan. 2004
Outline • Optimal operation • Implememtation of optimal operation: Self-optimizing control • What should we control? • Applications • Marathon runner • KPI’s • Biology • ... • Optimal measurement combination • Optimal blending example Focus: Not optimization (optimal decision making) But rather: How to implement decision in an uncertain world
Optimal operation of systems • Theory: • Model of overall system • Estimate present state • Optimize all degrees of freedom • Problems: • Model not available and optimization complex • Not robust (difficult to handle uncertainty) • Practice • Hierarchical system • Each level: Follow order (”setpoints”) given from level above • Goal: Self-optimizing
Process operation: Hierarchical structure RTO MPC PID
Engineering systems • Most (all?) large-scale engineering systems are controlled using hierarchies of quite simple single-loop controllers • Large-scale chemical plant (refinery) • Commercial aircraft • 1000’s of loops • Simple components: on-off + P-control + PI-control + nonlinear fixes + some feedforward Same in biological systems
y1 = c ? (economics) y2 = ? (stabilization) What should we control?
Self-optimizing Control Self-optimizing control is when acceptable operation can be achieved using constant set points (cs)for the controlled variables c (without re-optimizing when disturbances occur). c=cs
Optimal operation (economics) • Define scalar cost function J(u0,d) • u0: degrees of freedom • d: disturbances • Optimal operation for given d: minu0 J(u0,d) subject to: f(u0,d) = 0 g(u0,d) < 0
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.
Unconstrained variables Cost J Jopt copt Selected controlled variable (remaining unconstrained)
Implementation of unconstrained variables is not trivial:How do we deal with uncertainty? • 1. Disturbances d • 2. Implementation error n cs = copt(d*) – nominal optimization n c = cs + n d Cost J Jopt(d)
Problem no. 1: Disturbance d d ≠d* Cost J d* Jopt Loss with constant value for c copt(d*) Controlled variable )Want copt independent of d
Problem no. 2: Implementation error n Cost J d* Loss due to implementation error for c Jopt cs=copt(d*) c = cs + n )Want n small and ”flat” optimum
J Optimizer c cs n cm=c+n n Controller that adjusts u to keep cm = cs cs=copt u c d Plant uopt u )Want c sensitive to u (”large gain”)
Which variable c to control? • Define optimal operation: Minimize cost function J • Each candidate variable c: With constant setpoints cs compute loss L for expected disturbances d and implementation errors n • Select variable c with smallest loss
Constant setpoint policy: Loss for disturbances (“problem 1”) Acceptable loss ) self-optimizing control
Good candidate controlled variables c (for self-optimizing control) Requirements: • The optimal value of c should be insensitive to disturbances (avoid problem 1) • c should be easy to measure and control (rest: avoid problem 2) • The value of c should be sensitive to changes in the degrees of freedom (Equivalently, J as a function of c should be flat) • For cases with more than one unconstrained degrees of freedom, the selected controlled variables should be independent. Singular value rule (Skogestad and Postlethwaite, 1996): Look for variables that maximize the minimum singular value of the appropriately scaled steady-state gain matrix G from u to c
Examples self-optimizing control • Marathon runner • Central bank • Cake baking • Business systems (KPIs) • Investment portifolio • Biology • Chemical process plants: Optimal blending of gasoline Define optimal operation (J) and look for ”magic” variable (c) which when kept constant gives acceptable loss (self-optimizing control)
Self-optimizing Control – Marathon • Optimal operation of Marathon runner, J=T • Any self-optimizing variable c (to control at constant setpoint)?
Self-optimizing Control – Marathon • 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
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 spending Optimal 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
Looking for “magic” variables to keep at constant setpoints.How can we find them? • Consider available measurements y, and evaluate loss when they are kept constant (“brute force”): • More general: Find optimal linear combination (matrix H):
Optimal measurement combination (Alstad) • Basis: Want optimal value of c independent of disturbances ) • copt = 0 ¢ d • Find optimal solution as a function of d: uopt(d), yopt(d) • Linearize this relationship: yopt = F d • F – sensitivity matrix • Want: • To achieve this for all values of d: • Always possible if
Dealing with complexity Main simplification: Hierarchical decomposition The controlled variables (CVs) interconnect the layers Process control OBJECTIVE Min J (economics); MV=y1s RTO cs = y1s Follow path (+ look after other variables) CV=y1 (+ u); MV=y2s MPC y2s Stabilize + avoid drift CV=y2; MV=u PID u (valves)
Outline • Control structure design (plantwide control) • A procedure for control structure design I Top Down • Step 1: Define operational objective (cost) and constraints • Step 2: Identify degrees of freedom and optimizate for disturbances • Step 3: What to control ? (primary CV’s) (self-optimizing control) • Step 4: Where set the production rate? (Inventory control) II Bottom Up • Step 5: Regulatory control: What more to control (secondary CV’s) ? • Step 6: Supervisory control • Step 7: Real-time optimization • Case studies
Main message • 1. Control for economics (Top-down steady-state arguments) • Primary controlled variables c = y1 : • Control active constraints • For remaining unconstrained degrees of freedom: Look for “self-optimizing” variables • 2. Control for stabilization (Bottom-up; regulatory PID control) • Secondary controlled variables y2 (“inner cascade loops”) • Control variables which otherwise may “drift” • Both cases: Control “sensitive” variables (with a large gain)!
Process control:“Plantwide control” = “Control structure design for complete chemical plant” • Large systems • Each plant usually different – modeling expensive • Slow processes – no problem with computation time • Structural issues important • What to control? Extra measurements, Pairing of loops • Previous work on plantwide control: • Page Buckley (1964) - Chapter on “Overall process control” (still industrial practice) • Greg Shinskey (1967) – process control systems • Alan Foss (1973) - control system structure • Bill Luyben et al. (1975- ) – case studies ; “snowball effect” • George Stephanopoulos and Manfred Morari (1980) – synthesis of control structures for chemical processes • Ruel Shinnar (1981- ) - “dominant variables” • Jim Downs (1991) - Tennessee Eastman challenge problem • Larsson and Skogestad (2000): Review of plantwide control
Control structure selection issues are identified as important also in other industries. Professor Gary Balas (Minnesota) at ECC’03 about flight control at Boeing: The most important control issue has always been to select the right controlled variables --- no systematic tools used!
Main objectives control system • Stabilization • Implementation of acceptable (near-optimal) operation ARE THESE OBJECTIVES CONFLICTING? • Usually NOT • Different time scales • Stabilization fast time scale • Stabilization doesn’t “use up” any degrees of freedom • Reference value (setpoint) available for layer above • But it “uses up” part of the time window (frequency range)
Dealing with complexity Main simplification: Hierarchical decomposition The controlled variables (CVs) interconnect the layers Process control OBJECTIVE Min J (economics); MV=y1s RTO cs = y1s Follow path (+ look after other variables) CV=y1 (+ u); MV=y2s MPC y2s Stabilize + avoid drift CV=y2; MV=u PID u (valves)
Hierarchical decomposition Example: Bicycle riding Note: design starts from the bottom • Regulatory control: • First need to learn to stabilize the bicycle • CV = y2 = tilt of bike • MV = body position • Supervisory control: • Then need to follow the road. • CV = y1 = distance from right hand side • MV=y2s • Usually a constant setpoint policy is OK, e.g. y1s=0.5 m • Optimization: • Which road should you follow? • Temporary (discrete) changes in y1s
Summary: The three layers • Optimization layer (RTO; steady-state nonlinear model): • Identifies active constraints and computes optimal setpoints for primary controlled variables (y1). • Supervisory control (MPC; linear model with constraints): • Follow setpoints for y1 (usually constant) by adjusting setpoints for secondary variables (MV=y2s) • Look after other variables (e.g., avoid saturation for MV’s used in regulatory layer) • Regulatory control (PID): • Stabilizes the plant and avoids drift, in addition to following setpoints for y2. MV=valves (u). Problem definition and overall control objectives (y1, y2) starts from the top. Design starts from the bottom. A good example is bicycle riding: • Regulatory control: • First you need to learn how to stabilize the bicycle (y2) • Supervisory control: • Then you need to follow the road. Usually a constant setpoint policy is OK, for example, stay y1s=0.5 m from the right hand side of the road (in this case the "magic" self-optimizing variable self-optimizing variable is y1=distance to right hand side of road) • Optimization: • Which road (route) should you follow?
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 • Identify regions of active constraints • 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?) Understanding and using this procedure is the most important part of this course!!!! y1 y2 MVs Process
What should we control? c = Hy Step 3. What should we control (c)?(primary controlled variables y1=c) • CONTROL ACTIVE CONSTRAINTS, c=cconstraint • REMAINING UNCONSTRAINED, c=? H
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) = 0 Operational constraints: g(u,x,d) < 0 J = cost feed + cost energy – value products
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 • 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, 2) p free: pmin· p · pmax Feed: 1) F given 2) F free: F · Fmax • Optimal operation: Minimize J with respect to steady-state DOFs cost energy (heating+ cooling) value products cost feed
Optimal operation minimize J = cost feed + cost energy – value products • Given feed Amount of products is then usually indirectly given and J = cost energy. Optimal operation is then usually unconstrained: • Feed free Products usually much more valuable than feed + energy costs small. Optimal operation is then usually constrained: Two main cases (modes) depending on marked conditions: “maximize efficiency (energy)” Control: Operate at optimal trade-off (not obvious what to control to achieve this) “maximize production” Control: Operate at bottleneck (“obvious what to control”)
Solution I (“obvious”): Optimal feedforward • Problem: UNREALISTIC! • Lack of measurements of d • Sensitive to model error
Solution II (”obvious”): Optimizing control y Estimate d from measurements y and recompute uopt(d) Problem: COMPLICATED! Requires detailed model and description of uncertainty
Solution III (in practice): FEEDBACK with hierarchical decomposition y CVs: link optimization and control layers When disturbance d: Degrees of freedom (u) are updated indirectly to keep CVs at setpoints
How does self-optimizing control (solution III) work? • When disturbances d occur, controlled variable c deviates from setpoint cs • Feedback controller changes degree of freedom u to uFB(d) to keep c at cs • Near-optimal operation / acceptable loss (self-optimizing control) is achieved if • uFB(d) ≈ uopt(d) • or more generally, J(uFB(d)) ≈ J(uopt(d)) • Of course, variation of uFB(d) is different for different CVs c. • We need to look for variables, for whichJ(uFB(d)) ≈ J(uopt(d)) or Loss = J(uFB(d)) - J(uopt(d)) is small
Remarks “self-optimizing control” 1. Old idea (Morari et al., 1980): “We want to find a function c of the process variables which when held constant, leads automatically to the optimal adjustments of the manipulated variables, and with it, the optimal operating conditions.” 2. “Self-optimizing control” = acceptable steady-state behavior (loss) with constant CVs. is similar to “Self-regulation” = acceptable dynamic behavior with constant MVs. 3. The ideal self-optimizing variable c is the gradient (c = J/ u = Ju) • Keep gradient at zero for all disturbances (c = Ju=0) • Problem: no measurement of gradient
What should we control? Step 3. What should we control (c)?Simple examples
Optimal operation - Runner Optimal operation of runner • Cost to be minimized, J=T • One degree of freedom (u=power) • What should we control?
Optimal operation - Runner Self-optimizing control: Sprinter (100m) • 1. Optimal operation of Sprinter, J=T • Active constraint control: • Maximum speed (”no thinking required”)
Optimal operation - Runner Self-optimizing control: Marathon (40 km) • 2. Optimal operation of Marathon runner, J=T
Optimal operation - Runner Solution 1 Marathon: Optimizing control • Even getting a reasonable model requires > 10 PhD’s … and the model has to be fitted to each individual…. • Clearly impractical!
Optimal operation - Runner Solution 2 Marathon – Feedback(Self-optimizing control) • What should we control?
Optimal operation - Runner Self-optimizing control: Marathon (40 km) • 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