SlideShare a Scribd company logo
Model Predictive Control
Dynamic Matrix Control
Process Dynamics and Control
Supplementary Material
Indian Institute of Technology Kanpur
Modeule 6.3
Process Control Notes 2
The MPC Paradigm
ySP
y past
. . . u past . . .
u future
y future (predicted)
y reference
time
-4 -3 -2 -1 0 1 2 3 4 M P
. . . . . .
. . . . . .
GIVEN
A predictive model that predicts y for candidate control move sequences
QUESTION
Of all the candidate future control move sequences, which one causes the
predicted y to best follow the reference trajectory
SOLUTION
Usually solved as an optimization problem
MPC PROCEDURE
1. Obtain current y measurement
2. Calculate reference trajectory
3. Calculate uoptimum
4. Implement current move
5. Repeat at next sampling instant
M: Control Horizon
P: Prediction Horizon
Process Control Notes 3
Dynamic Matrix Control
Unit Step Response Coefficients
g = [g1 g2 g3 … gN-1 gN]
g1
g2
g3
gN-1 gN
. . . . . . . . . . . .
time
0 1 2 3 N-1 N
u
y
Unit Step Process Reaction Curve
time
0 1 2 3
u0 u1
u2
u1
u0
u2
u = u0 + u1 + u2
Input Change Sequence
time
0 1 2 3
u
Any general input change sequence is a
superposition of appropriately delayed steps
Predicted output response is superposition
of appropriately delayed step responses
Process Control Notes 4
SISO DMC: Predictive Model
Process
d
y
u +
+
ySP
y past
. . . u past . . .
u future
y future (predicted)
y reference
time
-4 -3 -2 -1 0 1 2 3 4 M P
. . . . . .
. . . . . .
k
k
𝑦𝑘 =
𝑖=−∞
min(𝑘−1,𝑀)
𝑔𝑘−𝑖𝑢𝑖 + 𝑑𝑘
𝑦𝑘 =
𝑖=−∞
−1
𝑔𝑘−𝑖𝑢𝑖 +
𝑖=0
min(k−1,M)
𝑔𝑘−𝑖𝑢𝑖 + 𝑑𝑘
𝑑𝑘 = 𝑑𝑘 = 𝑑0 = 𝑦0 − 𝑦0
𝑦0 =
𝑖=−∞
−1
𝑔−𝑖𝑢𝑖
𝑦𝑘 =
𝑖=0
min(k−1,M)
𝑔𝑘−𝑖𝑢𝑖 +
𝑖=1
∞
𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0
Effect of control
moves
Effect of past moves
𝑦𝑘 =
𝑖=0
min(k−1,M)
𝑔𝑘−𝑖𝑢𝑖 +
𝑖=1
N
𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0
Forced response Free response
Process Control Notes 5
DMC Predictive Model
𝑦1 = 𝑔1𝑢0 + 𝑓1
𝑦2 = 𝑔2𝑢0 + 𝑔1𝑢1 + 𝑓2
𝑦𝑘 = 𝑔𝑘𝑢0 + 𝑔𝑘−1𝑢1 + ⋯ + 𝑔𝑘−𝑀𝑢𝑀 + 𝑓𝑀
𝑦𝑃 = 𝑔𝑃𝑢0 + 𝑔𝑃−1𝑢1 + ⋯ + 𝑔𝑃−𝑀𝑢𝑀 + 𝑓𝑃
.
.
.
.
.
.
𝑦1
𝑦2
.
.
.
𝑦𝑘
.
.
.
𝑦𝑃
𝑓1
𝑓2
.
.
.
𝑓𝑘
.
.
.
𝑓𝑃
𝑔1
𝑔2
.
.
.
𝑔𝑘
.
.
.
𝑔𝑃
0
𝑔1
𝑔2
.
.
𝑔𝑘−1
.
.
.
𝑔𝑃−1
0
0
𝑔1
.
.
𝑔𝑘−2
.
.
.
𝑔𝑃−2
…
…
…
.
.
...
.
.
.
…
0
0
.
.
.
𝑔𝑘−𝑀
.
.
.
𝑔𝑃−𝑀
𝑢0
𝑢1
𝑢2
.
.
.
𝑢𝑀
= +
𝐲 = 𝐆𝐮 + 𝐟
𝑦𝑘 =
𝑖=0
min(k−1,M)
𝑔𝑘−𝑖𝑢𝑖 +
𝑖=1
N
𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0
Process Control Notes 6
DMC Optimum Control Move Sequence
𝐽 =
𝑖=1
𝑃
(𝑦𝑖 − 𝑟𝑖)2+ 𝜆
𝑖=1
𝑃
𝑢𝑖
2
𝐽 = 𝐲 − 𝐫
𝐓
𝐲 − 𝐫 + 𝜆𝐮𝐓𝐮 = 𝐆𝐮 + 𝐟 − 𝐫
𝐓
𝐆𝐮 + 𝐟 − 𝐫 + 𝜆𝐮𝐓𝐮
min
𝐮
𝐽 Put 𝐲 = 𝐆𝐮 + 𝐟
𝐽 = 𝐮𝐓
𝐆𝐓
𝐆𝐮 + 𝐮𝐓
𝐆𝐓
𝐟 − 𝐫 + (𝐟 − 𝐫)𝐓
𝐆𝐮 + 𝐟 − 𝐫 𝐓
𝐟 − 𝐫 + 𝜆𝐮𝐓
𝐮
For optimality
𝜕𝐽
𝜕𝐮
= 0
2𝐆𝐓𝐆𝐮∗ + 2𝐆𝐓 𝐟 − 𝐫 + 2𝜆𝐮∗ = 𝟎
(𝐆𝐓𝐆 + 𝜆𝐈)𝐮∗ = 𝐆𝐓 𝐫 − 𝐟
𝐮∗ = (𝐆𝐓𝐆 + 𝜆𝐈)−𝟏𝐆𝐓 𝐫 − 𝐟
Implement first element of u* and repeat procedure at next instant
Process Control Notes 7
Constrained DMC
𝐽 =
𝑖=1
𝑃
(𝑦𝑖 − 𝑟𝑖)2+ 𝜆
𝑖=1
𝑃
𝑢𝑖
2
min
𝐮
𝐽 𝐲 = 𝐆𝐮 + 𝐟
Rate Constraint
−𝑢𝑀𝐴𝑋 ≤ 𝑢𝑖≤ 𝑢𝑀𝐴𝑋
Valve Saturation Constraint
0% ≤ 𝑖=0
𝑀
𝑢𝑖 − 𝑢𝑐𝑢𝑟𝑟 ≤ 100%
Easily solved using quadratic programming
Subroutine quadprog in Matlab
Process Control Notes 8
Reference Trajectory and Tuning
Reference Trajectory
𝑟𝑖+1 = 𝛼𝑟𝑖 + 1 − 𝛼 𝑦𝑠𝑝
0 ≤ 𝛼 ≤ 1
Initial Condition 𝑟0 = 𝑦0
v v v
α↑
ySP
y0
time
CONTROLLER TUNING
• M, P, α, λ: Tuning parameters
• Usually M, P and α are chosen to reasonable values and
λ adjusted for stable and tight closed loop control
• No standard tuning procedures for MPC (Hit-and-trial)
Process Control Notes 9
Multivariable DMC
DMC
Controller
⋮
⋮
u1
u2
uN
y1
y2
yN
PROCESS
⋮
⋮
𝐲𝟏
𝐲𝟐
⋮
𝐲𝐣
⋮
𝐲𝐍
G11 G12 … G1k … G1N
G21 G22 … G2k … G2N
⋮
Gj1 Gj2 … Gjk … GNN
⋮
GN1 GN2 … GNk … GNN
u1
u2
⋮
uk
⋮
uN
f1
f2
⋮
fj
⋮
fN
= +
𝐲 = 𝐆𝐮 + 𝐟
𝐽 =
𝑗=1
𝑁
𝑖=1
𝑃𝑗
(𝑦𝑖𝑗 − 𝑟𝑗)2
+
𝑘=1
𝑁
𝑖=0
𝑀𝑖
𝜆𝑘𝑢𝑖𝑘
2
𝐽 = 𝐲 − 𝐫 𝐓 𝐲 − 𝐫 + 𝛌𝐮𝐓𝐮
𝐮∗
= (𝐆𝐓
𝐆 + 𝛌𝐈)−𝟏
𝐆𝐓
𝐫 − 𝐟
CONSTRAINED MULTIVARIABLE DMC
Rate Constraint
−𝑢𝑘
𝑀𝐴𝑋
≤ 𝑢𝑖𝑘≤ 𝑢𝑘
𝑀𝐴𝑋
for k = 1 to N
Valve Saturation Constraint
0% ≤ 𝑖=0
𝑀𝑘
𝑢𝑖𝑘 − 𝑢𝑐𝑢𝑟𝑟,𝑘 ≤ 100% for k = 1 to N
Solve using a quadratic program (quadprog in Matlab)
Process Control Notes 10
Some Comments
• MPC does not address stability directly. Classical methods do.
• Stability addressed indirectly by adjusting the objective function using
primarily λ (move suppression factor)
• Since objective function itself is getting tuned to ensure stability, it makes
little sense to claim “optimality” of control moves compared to classical
control methods
• The (pseudo)inversion of the dynamic matrix makes the technique truly
multivariable
• Same formalism can handle SISO, MIMO (square and non-square) systems
• MPC performance degrades significantly with increasing plant model
mismatch. Models and tuning must be periodically updated
• No systematic MPC tuning procedures (unlike classical methods)

More Related Content

Similar to Dynamic Matrix control

Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptxModelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
KadiriIbrahim2
 
Arna Friend Controls II Final
Arna Friend Controls II FinalArna Friend Controls II Final
Arna Friend Controls II Final
Arna Friend
 

Similar to Dynamic Matrix control (20)

Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Multi objective optimization and Benchmark functions result
Multi objective optimization and Benchmark functions resultMulti objective optimization and Benchmark functions result
Multi objective optimization and Benchmark functions result
 
Talk at SciCADE2013 about "Accelerated Multiple Precision ODE solver base on ...
Talk at SciCADE2013 about "Accelerated Multiple Precision ODE solver base on ...Talk at SciCADE2013 about "Accelerated Multiple Precision ODE solver base on ...
Talk at SciCADE2013 about "Accelerated Multiple Precision ODE solver base on ...
 
04. Growth_Rate_AND_Asymptotic Notations_.pptx
04. Growth_Rate_AND_Asymptotic Notations_.pptx04. Growth_Rate_AND_Asymptotic Notations_.pptx
04. Growth_Rate_AND_Asymptotic Notations_.pptx
 
srd
srdsrd
srd
 
Discrete sequential prediction of continuous actions for deep RL
Discrete sequential prediction of continuous actions for deep RLDiscrete sequential prediction of continuous actions for deep RL
Discrete sequential prediction of continuous actions for deep RL
 
lecture 2 courseII (4).pptx
lecture 2 courseII (4).pptxlecture 2 courseII (4).pptx
lecture 2 courseII (4).pptx
 
CI L11 Optimization 3 GlobalOptimization.pdf
CI L11 Optimization 3 GlobalOptimization.pdfCI L11 Optimization 3 GlobalOptimization.pdf
CI L11 Optimization 3 GlobalOptimization.pdf
 
Pseudo Random Number Generators
Pseudo Random Number GeneratorsPseudo Random Number Generators
Pseudo Random Number Generators
 
Numerical analysis kuhn tucker eqn
Numerical analysis  kuhn tucker eqnNumerical analysis  kuhn tucker eqn
Numerical analysis kuhn tucker eqn
 
Deep robotics
Deep roboticsDeep robotics
Deep robotics
 
Selaidechou
SelaidechouSelaidechou
Selaidechou
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of Algorithms
 
The Overview of Optimal and Robust Control
The Overview of Optimal and Robust ControlThe Overview of Optimal and Robust Control
The Overview of Optimal and Robust Control
 
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptxModelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
 
Design and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation AlgorithmsDesign and Implementation of Parallel and Randomized Approximation Algorithms
Design and Implementation of Parallel and Randomized Approximation Algorithms
 
Control systems lab manual R19 jntuk, vignan's institute of engineering for w...
Control systems lab manual R19 jntuk, vignan's institute of engineering for w...Control systems lab manual R19 jntuk, vignan's institute of engineering for w...
Control systems lab manual R19 jntuk, vignan's institute of engineering for w...
 
DC servo motor
DC servo motorDC servo motor
DC servo motor
 
Kalman filter for Beginners
Kalman filter for BeginnersKalman filter for Beginners
Kalman filter for Beginners
 
Arna Friend Controls II Final
Arna Friend Controls II FinalArna Friend Controls II Final
Arna Friend Controls II Final
 

Recently uploaded

Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
AbrahamGadissa
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientist
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptx
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering Workshop
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 

Dynamic Matrix control

  • 1. Model Predictive Control Dynamic Matrix Control Process Dynamics and Control Supplementary Material Indian Institute of Technology Kanpur Modeule 6.3
  • 2. Process Control Notes 2 The MPC Paradigm ySP y past . . . u past . . . u future y future (predicted) y reference time -4 -3 -2 -1 0 1 2 3 4 M P . . . . . . . . . . . . GIVEN A predictive model that predicts y for candidate control move sequences QUESTION Of all the candidate future control move sequences, which one causes the predicted y to best follow the reference trajectory SOLUTION Usually solved as an optimization problem MPC PROCEDURE 1. Obtain current y measurement 2. Calculate reference trajectory 3. Calculate uoptimum 4. Implement current move 5. Repeat at next sampling instant M: Control Horizon P: Prediction Horizon
  • 3. Process Control Notes 3 Dynamic Matrix Control Unit Step Response Coefficients g = [g1 g2 g3 … gN-1 gN] g1 g2 g3 gN-1 gN . . . . . . . . . . . . time 0 1 2 3 N-1 N u y Unit Step Process Reaction Curve time 0 1 2 3 u0 u1 u2 u1 u0 u2 u = u0 + u1 + u2 Input Change Sequence time 0 1 2 3 u Any general input change sequence is a superposition of appropriately delayed steps Predicted output response is superposition of appropriately delayed step responses
  • 4. Process Control Notes 4 SISO DMC: Predictive Model Process d y u + + ySP y past . . . u past . . . u future y future (predicted) y reference time -4 -3 -2 -1 0 1 2 3 4 M P . . . . . . . . . . . . k k 𝑦𝑘 = 𝑖=−∞ min(𝑘−1,𝑀) 𝑔𝑘−𝑖𝑢𝑖 + 𝑑𝑘 𝑦𝑘 = 𝑖=−∞ −1 𝑔𝑘−𝑖𝑢𝑖 + 𝑖=0 min(k−1,M) 𝑔𝑘−𝑖𝑢𝑖 + 𝑑𝑘 𝑑𝑘 = 𝑑𝑘 = 𝑑0 = 𝑦0 − 𝑦0 𝑦0 = 𝑖=−∞ −1 𝑔−𝑖𝑢𝑖 𝑦𝑘 = 𝑖=0 min(k−1,M) 𝑔𝑘−𝑖𝑢𝑖 + 𝑖=1 ∞ 𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0 Effect of control moves Effect of past moves 𝑦𝑘 = 𝑖=0 min(k−1,M) 𝑔𝑘−𝑖𝑢𝑖 + 𝑖=1 N 𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0 Forced response Free response
  • 5. Process Control Notes 5 DMC Predictive Model 𝑦1 = 𝑔1𝑢0 + 𝑓1 𝑦2 = 𝑔2𝑢0 + 𝑔1𝑢1 + 𝑓2 𝑦𝑘 = 𝑔𝑘𝑢0 + 𝑔𝑘−1𝑢1 + ⋯ + 𝑔𝑘−𝑀𝑢𝑀 + 𝑓𝑀 𝑦𝑃 = 𝑔𝑃𝑢0 + 𝑔𝑃−1𝑢1 + ⋯ + 𝑔𝑃−𝑀𝑢𝑀 + 𝑓𝑃 . . . . . . 𝑦1 𝑦2 . . . 𝑦𝑘 . . . 𝑦𝑃 𝑓1 𝑓2 . . . 𝑓𝑘 . . . 𝑓𝑃 𝑔1 𝑔2 . . . 𝑔𝑘 . . . 𝑔𝑃 0 𝑔1 𝑔2 . . 𝑔𝑘−1 . . . 𝑔𝑃−1 0 0 𝑔1 . . 𝑔𝑘−2 . . . 𝑔𝑃−2 … … … . . ... . . . … 0 0 . . . 𝑔𝑘−𝑀 . . . 𝑔𝑃−𝑀 𝑢0 𝑢1 𝑢2 . . . 𝑢𝑀 = + 𝐲 = 𝐆𝐮 + 𝐟 𝑦𝑘 = 𝑖=0 min(k−1,M) 𝑔𝑘−𝑖𝑢𝑖 + 𝑖=1 N 𝑔𝑘+𝑖 − 𝑔𝑖 𝑢−𝑖 + 𝑦0
  • 6. Process Control Notes 6 DMC Optimum Control Move Sequence 𝐽 = 𝑖=1 𝑃 (𝑦𝑖 − 𝑟𝑖)2+ 𝜆 𝑖=1 𝑃 𝑢𝑖 2 𝐽 = 𝐲 − 𝐫 𝐓 𝐲 − 𝐫 + 𝜆𝐮𝐓𝐮 = 𝐆𝐮 + 𝐟 − 𝐫 𝐓 𝐆𝐮 + 𝐟 − 𝐫 + 𝜆𝐮𝐓𝐮 min 𝐮 𝐽 Put 𝐲 = 𝐆𝐮 + 𝐟 𝐽 = 𝐮𝐓 𝐆𝐓 𝐆𝐮 + 𝐮𝐓 𝐆𝐓 𝐟 − 𝐫 + (𝐟 − 𝐫)𝐓 𝐆𝐮 + 𝐟 − 𝐫 𝐓 𝐟 − 𝐫 + 𝜆𝐮𝐓 𝐮 For optimality 𝜕𝐽 𝜕𝐮 = 0 2𝐆𝐓𝐆𝐮∗ + 2𝐆𝐓 𝐟 − 𝐫 + 2𝜆𝐮∗ = 𝟎 (𝐆𝐓𝐆 + 𝜆𝐈)𝐮∗ = 𝐆𝐓 𝐫 − 𝐟 𝐮∗ = (𝐆𝐓𝐆 + 𝜆𝐈)−𝟏𝐆𝐓 𝐫 − 𝐟 Implement first element of u* and repeat procedure at next instant
  • 7. Process Control Notes 7 Constrained DMC 𝐽 = 𝑖=1 𝑃 (𝑦𝑖 − 𝑟𝑖)2+ 𝜆 𝑖=1 𝑃 𝑢𝑖 2 min 𝐮 𝐽 𝐲 = 𝐆𝐮 + 𝐟 Rate Constraint −𝑢𝑀𝐴𝑋 ≤ 𝑢𝑖≤ 𝑢𝑀𝐴𝑋 Valve Saturation Constraint 0% ≤ 𝑖=0 𝑀 𝑢𝑖 − 𝑢𝑐𝑢𝑟𝑟 ≤ 100% Easily solved using quadratic programming Subroutine quadprog in Matlab
  • 8. Process Control Notes 8 Reference Trajectory and Tuning Reference Trajectory 𝑟𝑖+1 = 𝛼𝑟𝑖 + 1 − 𝛼 𝑦𝑠𝑝 0 ≤ 𝛼 ≤ 1 Initial Condition 𝑟0 = 𝑦0 v v v α↑ ySP y0 time CONTROLLER TUNING • M, P, α, λ: Tuning parameters • Usually M, P and α are chosen to reasonable values and λ adjusted for stable and tight closed loop control • No standard tuning procedures for MPC (Hit-and-trial)
  • 9. Process Control Notes 9 Multivariable DMC DMC Controller ⋮ ⋮ u1 u2 uN y1 y2 yN PROCESS ⋮ ⋮ 𝐲𝟏 𝐲𝟐 ⋮ 𝐲𝐣 ⋮ 𝐲𝐍 G11 G12 … G1k … G1N G21 G22 … G2k … G2N ⋮ Gj1 Gj2 … Gjk … GNN ⋮ GN1 GN2 … GNk … GNN u1 u2 ⋮ uk ⋮ uN f1 f2 ⋮ fj ⋮ fN = + 𝐲 = 𝐆𝐮 + 𝐟 𝐽 = 𝑗=1 𝑁 𝑖=1 𝑃𝑗 (𝑦𝑖𝑗 − 𝑟𝑗)2 + 𝑘=1 𝑁 𝑖=0 𝑀𝑖 𝜆𝑘𝑢𝑖𝑘 2 𝐽 = 𝐲 − 𝐫 𝐓 𝐲 − 𝐫 + 𝛌𝐮𝐓𝐮 𝐮∗ = (𝐆𝐓 𝐆 + 𝛌𝐈)−𝟏 𝐆𝐓 𝐫 − 𝐟 CONSTRAINED MULTIVARIABLE DMC Rate Constraint −𝑢𝑘 𝑀𝐴𝑋 ≤ 𝑢𝑖𝑘≤ 𝑢𝑘 𝑀𝐴𝑋 for k = 1 to N Valve Saturation Constraint 0% ≤ 𝑖=0 𝑀𝑘 𝑢𝑖𝑘 − 𝑢𝑐𝑢𝑟𝑟,𝑘 ≤ 100% for k = 1 to N Solve using a quadratic program (quadprog in Matlab)
  • 10. Process Control Notes 10 Some Comments • MPC does not address stability directly. Classical methods do. • Stability addressed indirectly by adjusting the objective function using primarily λ (move suppression factor) • Since objective function itself is getting tuned to ensure stability, it makes little sense to claim “optimality” of control moves compared to classical control methods • The (pseudo)inversion of the dynamic matrix makes the technique truly multivariable • Same formalism can handle SISO, MIMO (square and non-square) systems • MPC performance degrades significantly with increasing plant model mismatch. Models and tuning must be periodically updated • No systematic MPC tuning procedures (unlike classical methods)