This slide talk about the model predictive control / dynamic matrix control and these topics are the part of chemical engineering subject called process control
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
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)