MPC Introduction • Overview • Basic Concept of MPC • History • Optimization Formulation • Models • Analytical Solution to Unconstrained Problem • Summary • Limitations & a Look Ahead B. Wayne Bequette Chemical and Biological Engineering
Motivation: Complex Processes Recycle CC Compressor purge Hydrogen, Methane cooling water open Hydrogen PC TC FC Reactor Flash fuel TC gas LC TC quench Toluene PC cooling PC PC CW CH4 water Benzene CW product FC FC LC LC LC Recycle Column Benzene Column Recycle Stabilizer Toluene CC FC TC LC TC TC LC LC steam Diphenyl steam steam B. Wayne Bequette
Important Issues in Petroleum Refining l Multivariable, Large Scale Ø Challenge to tune individual SISO controllers l Operation at Constraints Ø Anti-reset windup and other strategies for PID l Economic Payout for Advanced Control Ø Economic return justifies capital and on-going maintenance costs l Model Predictive Control Ø Evolved independently in the US and France refining industry B. Wayne Bequette
How is MPC used? Unit 1 - PID Structure Unit 2 - MPC Structure Global Steady-State Plant-Wide Optimization Optimization (every day) Local Steady-State Unit 1 Local Optimization Unit 2 Local Optimization Optimization (every hour) Dynamic High/Low Select Logic Constraint Model Control Predictive (every minute) Lead/Lag PID PID Control Supervisory (MPC) Dynamic Control (every minute) SUM SUM Unit 1 Distributed Control Unit 2 Distributed Control Basic Dynamic System (PID) System (PID) Control (every second) FC TC FC TC PC LC PC LC From Tom Badgwell, 2003 Spring AIChE Meeting, New Orleans B. Wayne Bequette
Model Predictive Control past future (MPC) setpoint y model prediction actual outputs (past) Find current and future P t k manipulated inputs that best Prediction current Horizon step meet a desired future output max trajectory. Implement first u min “control move”. past control M moves Control Horizon setpoint model prediction l Type of model for predictions? from k y new model prediction l Information needed at step k for predictions? actual outputs (past) P l Objective function and optimization technique? t k+1 Prediction current Horizon step l Correction for model error? max u min Chapter 16 past control M moves Control Horizon B. Wayne Bequette
Model Predictive Control past future (MPC) setpoint y model prediction actual outputs (past) Find current and future P t k manipulated inputs that best Prediction current Horizon step meet a desired future output max trajectory. Implement first u min “control move”. past control M moves Control Horizon setpoint At next sample time: model prediction from k y new model prediction Correct for model mismatch, actual outputs (past) then perform new optimization. P t k+1 Prediction current Horizon step max This is a major issue – u min “disturbances” vs. model uncertainty past control M moves Control Horizon B. Wayne Bequette
MPC History l Intuitive Ø Basically arose in two different “camps” l Dynamic Matrix Control (DMC) Charlie Cutler Ø 1960’s and 1970’s – Shell Oil - US Ø Related to techniques developed in France (IDCOM) Ø Large-scale MIMO Ø Formulation for constraints important (1976) l Generalized Predictive Control (GPC) Ø Evolved from adaptive control Ø Focus on SISO, awkward for MIMO B. Wayne Bequette
Objective Functions Quadratic Objective Function, Prediction Horizon (P) = 3, Control Horizon (M) = 2 2 2 2 ( ˆ ) ( ˆ ) ( ˆ ) J r y r y r y = − + − + − k 1 k 1 k 2 k 2 k 3 k 3 + + + + + + 2 2 3 steps into future w u w u + Δ + Δ k k 1 + 2 control moves Weight General Representation of a Quadratic Objective Function P M 1 − 2 2 ( ˆ ) J r y w u ∑ ∑ = − + Δ k i k i k i + + + i 1 i 0 = = With linear models, results in analytical solution (w/o constraints) B. Wayne Bequette
Alternative Objective Functions Penalize u rather than Δ u P M 1 − 2 2 ( ˆ ) J r y w u ∑ ∑ = − + k i k i k i + + + i 1 i 0 = = Will usually result in “offset” Sum of absolute values (results in LP) P M 1 − ˆ J r y w u ∑ ∑ = − + Δ k i k i k i + + + i 1 i 0 = = Existing LP methods are efficient, but solutions hop from one constraint to another B. Wayne Bequette
Models l State Space l ARX (auto-regressive, exogenous input) l Step Response l Impulse (Pulse) Response l Nonlinear, Fundamental (First-Principles) l ANN (Artificial Neural Networks) l Hammerstein (static NL with linear dynamics) l Volterra l Multiple Model B. Wayne Bequette
Discrete Linear Models used in MPC x x u = Φ + Γ k + 1 k k State Space y Cx = k k Some texts/papers have different sign conventions y a y a y a y Input-Output = − − − − + k 1 k 1 2 k 2 n k n − − − b u b u b u b u (ARX) + + + + 0 k 1 k 1 2 k 2 m k m − − − usually b 0 = 0 ∞ y s u = ∑ Δ k i k i Step Response − i 1 = s u s u s u s u = Δ + + Δ + Δ + + Δ 1 k 1 N k N N 1 k N 1 N k − − + − − + ∞ − ∞ ∞ y h u = ∑ Impulse Response k i k i − i 1 = h u h u h u h u = + + + + + 1 k 1 N k N N 1 k N 1 N k − − + − − + ∞ − ∞ B. Wayne Bequette
Example Step Response Model 2 1.5 s s 5 Etc. 4 1 s 3 temp, deg C s 2 0.5 s 1 0 -2 0 2 4 6 8 Used in discrete-time step DMC 1 0.8 0.6 psig 0.4 0.2 0 -2 0 2 4 6 8 discrete-time step T [ L ] S = s 1 s 2 s 3 s 4 s 5 s N B. Wayne Bequette
Example Impulse Response Model 1 0.8 0.6 h 0.4 1 temp, deg C h 2 h 0.2 3 0 -0.2 -2 0 2 4 6 8 10 discrete-time step Used in IDCOM 1 0.8 0.6 psig 0.4 0.2 0 -2 0 2 4 6 8 10 discrete-time step h i = s i − s i − 1 Impulse and step response i coefficients are related ∑ s i = h j j = 1 B. Wayne Bequette
Step & Impulse Models from State Space Models x x u = Φ + Γ k + 1 k k y Cx = k k i − 1 H C = Φ Γ i k k i 1 S C H − ∑ ∑ = Φ Γ = k i i 1 i 1 = = B. Wayne Bequette
MPC based on State Space Models x x u = Φ + Γ k 1 k k + y C x = k k with known current state, easy to propagate estimates x x u = Φ + Γ k 1 k k + y Cx C x C u = = Φ + Γ k 1 k 1 k k + + and, using control changes u u u = + Δ k k 1 k − y C x C u C u = Φ + Γ + ΓΔ k 1 k k 1 k + − B. Wayne Bequette
Use ^ notation for model states Current State Previous Predicted Input estimate input output change ˆ ˆ y C x C u C u = Φ + Γ + ΓΔ k 1 | k k | k k 1 k + − Estimate at k+1 Estimate at k Measurements through k Measurements through k Now, propagate the prediction for P steps into the future B. Wayne Bequette
Output Predictions C Γ ⎡ ⎤ ˆ y C ⎡ ⎤ Φ ⎤ ⎡ k 1 | k + ⎢ ⎥ C C ⎢ ⎥ ⎢ ⎥ ΦΓ + Γ ˆ y 2 C Φ ⎢ ⎥ k 2 | k ⎢ ⎥ + ⎢ ⎥ ˆ x u = + ⎢ ⎥ k | k k 1 − ⎢ ⎥ ⎢ ⎥ P ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ i 1 C ∑ − ˆ Φ Γ y P C ⎢ ⎥ Φ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ k P | k + ⎣ ⎦ i 1 = ˆ Y "free" or " unforced response" (if no more control moves are made) f C 0 0 Γ ⎡ ⎤ u Δ ⎡ ⎤ k ⎢ ⎥ C C C 0 0 ΦΓ + Γ Γ ⎢ ⎥ u ⎢ ⎥ Δ k 1 ⎢ ⎥ + ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ P P 1 − ⎢ ⎥ i 1 i 1 C C ∑ − ∑ − Φ Γ Φ Γ u ⎢ ⎥ Δ ⎣ ⎦ k M 1 u + − ⎢ ⎥ Δ ⎣ ⎦ i 1 i 1 = = f S "forced" response f B. Wayne Bequette
Recommend
More recommend