Advanced Modeling and Control

A decoupling controller (decoupler) can be added to decentralized control
to reduce process interactions
Types of decoupling systems:
Partial decoupling (one-way):
Cancels the interaction in one direction
Most common in practice
Complete decoupling (two-way):
Cancels interactions in both directions
Useful for severe interactions but often requires very high control action
Leads to increased valve wear and tear
A one-way decoupler is typically designed for a pair of control loops to
cancel the interaction from one loop to the other
Two decouplers can be used for the same pair of loops to cancel interactions
in both directions

U_2 D_{12} G_{11} + U_2 G_{12} = 0
\therefore \; D_{12} = - \frac{G_{12}}{G_{11}}
D_{ij} = - \frac{G_{ij}}{G_{ii}}
For an n \times n MIMO system, n(n-1) decouplers are required in a complete decoupling system
Complete decoupling is often not practical for large MIMO systems
Partial decoupling is more commonly adopted

For weak interactions and loose constraints, a simpler multi-loop PID
approach is often sufficient
Fast, lightly coupled units can run well with well-tuned SISO loops
In MIMO systems with strong interactions, multi-loop coordination becomes complex
Multivariable Predictive Control (MPC)
Compared with multi-loop PID, MPC considers all inputs and outputs together
and accounts for interactions
MPC enforces constraints on actuators and process variables explicitly
MPC looks ahead in time rather than reacting loop by loop
Advantages


MPC emerged in the late 1970s and early 1980s, evolving from Linear Quadratic Gaussian (LQG) control introduced by Kalman in the 1960s
MPC performs prediction within a finite time horizon, unlike LQG which assumes infinite horizon and unconstrained optimization
G_p(s) = \frac{y(s)}{u(s)} = \frac{\exp(-s)}{s+1}, \quad K_p = 1, \, \tau_p = 1, \, \theta_p = 1
\Delta u(s) = \frac{1}{s} \quad \text{at } t = t_0
a_i = \frac{y'(i)}{\Delta u(t_0)}, \quad y'(i) = y(i) - y(0) \tag{1}
| t | i | Δu | y(t) | aᵢ |
|---|---|---|---|---|
| 0 | 0 | 1 | 0.00 | 0.00 |
| 1 | 1 | 0 | 0.00 | 0.00 |
| 2 | 2 | 0 | 0.63 | 0.63 |
| 3 | 3 | 0 | 0.87 | 0.87 |
| 4 | 4 | 0 | 0.95 | 0.95 |
| 5 | 5 | 0 | 0.98 | 0.98 |
| 6 | 6 | 0 | 0.99 | 0.99 |
| 7 | 7 | 0 | 1.00 | 1.00 |
| 8 | 8 | 0 | 1.00 | 1.00 |
y(t_i) = y'(t_i) + y(t_0) = a_i \Delta u(t_0) \tag{2}
\begin{cases} y_1 - y_0 = a_1 \Delta u_0 = a_1 \Delta u(t_0) \\ y_2 - y_0 = a_2 \Delta u_0 + a_1 \Delta u_1 \\ y_3 - y_0 = a_3 \Delta u_0 + a_2 \Delta u_1 + a_1 \Delta u_3 \end{cases} \tag{3}
y_n - y_0 = \sum_{i=1}^{n} a_i \Delta u(t_{n-i}) \tag{4}
\begin{bmatrix} y'(t_1) \\ y'(t_2) \\ y'(t_3) \\ y'(t_4) \\ \vdots \\ y'(t_n) \end{bmatrix} = \begin{bmatrix} a_1 & 0 & 0 & 0 & \cdots \\ a_2 & a_1 & 0 & 0 & \cdots \\ a_3 & a_2 & a_1 & 0 & \cdots \\ a_4 & a_3 & a_2 & a_1 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \\ a_m & a_{m-1} & \cdots & a_2 & a_1 \end{bmatrix} \begin{bmatrix} \Delta u(t_0) \\ \Delta u(t_1) \\ \Delta u(t_2) \\ \Delta u(t_3) \\ \vdots \\ \Delta u(t_{n-1}) \end{bmatrix}
y' = A \Delta u
Future manipulated variable (MV) values are chosen to regulate the controlled variable (CV) to its setpoint using the DTSRM and past input history
After each control interval, the present CV value and the last MV change \Delta u(t) are measured
The controller recalculates a new sequence of MV values into the future to meet the control objective
Only the first move from the optimized sequence is implemented
\begin{aligned} y^P(t_1) = \; & y(t_{-m}) + a_m \Delta u(t_{-m}) + a_m \Delta u(t_{-m+1}) \\ & + a_{m-1}\Delta u(t_{-m+2}) + \dots + a_2 \Delta u(t_{-1}) \end{aligned} \tag{5}
y^P(t_1) = y_{-m} + \sum_{i=-m}^{-1} a_i \Delta u(t_{m-i})
\begin{bmatrix} y^P(t_1) \\ y^P(t_2) \\ \vdots \\ y^P(t_n) \end{bmatrix} = \begin{bmatrix} y(t_{-m}) \\ y(t_{-m}) \\ \vdots \\ y(t_{-m}) \end{bmatrix} + A^P \begin{bmatrix} \Delta u(t_{-m}) \\ \Delta u(t_{-m+1}) \\ \vdots \\ \Delta u(t_{-1}) \end{bmatrix}
y^P = y(t_{-m}) + A^P \Delta u^P
\tilde{y} = y^P + A \Delta u
\therefore \; \tilde{y} = y(t_{-m}) + A^P \Delta u^P + A \Delta u
Reliability of MPC requires that the deviation of the model from the actual process is small
The error between measured y(t_0) and predicted y^P(t_0) can be used to correct predictions
Recall equation (6):
\tilde{y} = y^P + A \Delta u
Prediction error:
\varepsilon = y^P(t_0) - y(t_0)
Corrected model:
y = y^P + A \Delta u + \phi^T
Error vector:
\phi = [\varepsilon, \varepsilon, \varepsilon, \dots, \varepsilon]
Number of rows of \phi^T matches the dimension of y
\Phi = \sum_{i=1}^n \bigl[y_{sp} - y(t_i)\bigr]^2
Error term: E(t_i) = y_{sp} - y^P(t_i) - \varepsilon
So, \Phi = \sum \bigl[E(t_i) - y^c(t_i)\bigr]^2
Taking derivative: \frac{\partial \Phi}{\partial \Delta u} = A^T \bigl(A \Delta u - E \bigr) = 0
Hence the control law: \Delta u = K_{DMC} E
where K_{DMC} = \bigl(A^T A \bigr)^{-1} A^T
Basic DMC can be very aggressive
This causes sharp changes in MV, which is undesirable
Solution: Add a move suppression term
Effect of q
Control law with suppression:
\Delta u = (A^T A + Q^2)^{-1} A^T E
Suppression matrix:
Q = \begin{bmatrix} q & 0 & 0 & \dots & 0 \\ 0 & q & 0 & \dots & 0 \\ 0 & 0 & q & \dots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \dots & q \end{bmatrix}
Decouplers reduce control-loop interactions and improve performance
Two common industrial control architectures:
Model Predictive Control (MPC) is the most widely used multivariable controller in process industries
One of the most common MPC variants is Dynamic Matrix Control (DMC)
MPC requires a process model and an optimizer
Advantages of MPC
Optimal control actions are computed as
\Delta u = K_{DMC} E
Advanced Modeling and Control