[ Team LiB ] Previous Section Next Section

16.3 Dynamic Matrix Control

DMC was developed by Shell Oil Company in the 1960s and 1970s (see Cutler and Ramaker, 1980). It is based on a step response model, which has the form (see Appendix 16.1 for a derivation)

Equation 16.6

graphics/16equ06.gif


which is written in the form

Equation 16.7

graphics/16equ07.gif


where k is the model prediction at time step k, and ukN is the manipulated input N steps in the past.

Note that the model-predicted output is unlikely to be equal to the actual measured output at time step k. The difference between the measured output (yk) and the model prediction is called the additive disturbance.

Equation 16.8

graphics/16equ08.gif


The "corrected prediction" is then equal to the actual measured output at step k,

Equation 16.9

graphics/16equ09.gif


Similarly, the corrected predicted output at the first time step in the future can be found from

Equation 16.10

graphics/16equ10.gif


So, for the jth step into the future, we find

Equation 16.11

graphics/16equ11.gif


and we can separate the effects of past and future control moves

Equation 16.12

graphics/16equ12.gif


The most common assumption is that the correction term is constant in the future (this is the "constant additive disturbance assumption"):

Equation 16.13

graphics/16equ13.gif


Also, realize that there are no control moves beyond the control horizon of M steps, so

graphics/16equ13a.gif


In matrix-vector form, a prediction horizon of P steps and a control horizon of M steps, yields

Equation 16.14

graphics/16equ14.gif


which we write using matrix-vector notation

Equation 16.15

graphics/16equ15.gif


In Equation (16.15) the corrected-predicted output response is naturally composed of a "forced response" (contributions of the current and future control moves) and a "free response" (the output changes that are predicted if there are no future control moves). The difference between the setpoint trajectory, r, and the future predictions is

Equation 16.16

graphics/16equ16.gif


which can be written

Equation 16.17

graphics/16equ17.gif


where the future predicted errors are composed of "free response" (E) and "forced response" (–SfDuf) contributions.

The least-squares objective function (16.1) is

Equation 16.18

graphics/16equ18.gif


Notice that the quadratic terms can written in matrix-vector form as

Equation 16.19

graphics/16equ19.gif


and

Equation 16.20

graphics/16equ20.gif


Therefore the objective function can be written in the form

Equation 16.21

graphics/16equ21.gif


subject to the modeling equation equality constraint (16.17)

Equation 16.17

graphics/16equ17.gif


Substituting (16.17) into (16.21), the objective function can be written

Equation 16.22

graphics/16equ22.gif


The solution for the minimization of this objective function is (see Appendix 16.2)

Equation 16.23

graphics/16equ23.gif


Notice that the current and future control move vector (Duf) is proportional to the unforced error vector (E). That is, a controller gain matrix, K, multiplies the unforced error vector (the future errors that would occur if there were no control move changes implemented).

Because only the current control move is actually implemented, we use the first row of the K matrix, and

Equation 16.24

graphics/16equ24.gif


where K1 represents the first row of the K matrix, where graphics/16inequ01.gif

Perhaps it is worth summarizing the steps involved in implementing DMC on a process.

  1. Develop a discrete step response model with length N (16.4), based on a sample time Dt.

  2. Specify the prediction (P) and control (M) horizons. N P M

  3. Specify the weighting on the control action (w = 0 if no weighting).

  4. All calculations assume deviation variable form, so remember to convert to/from physical units.

The effect of all of these tuning parameters is now discussed for SISO systems.

Model-length and sample-time selection are not independent. The model length should be approximately the "settling time" of the process, that is, the time required to reach a new steady state after a step input change. For most systems, the model length will be roughly 50 coefficients. The sample time is usually on the order of one tenth the dominant time constant, so the model length is roughly the settling time of the process.

Prediction and control horizons differ in length. Usually, the prediction horizon is selected to be much longer than the control horizon. This is particularly true if the control weighting factor is selected to be zero. Usually, if the prediction horizon is much longer than the control horizon, the control system is less sensitive to model error. Often P = 20 or so, while M = 1–3.

Control weighting is often set to zero if the prediction horizon is much longer than the control horizon. As the control horizon is increased, the control moves tend to become more aggressive so a larger weight is needed to penalize the control moves.

Example 16.1: First-Order Process

Here we study the first-order process, where the time unit is minutes,

graphics/16equ24a.gif


Ordinarily, we would select a sample time of roughly 0.5 minutes, and a model horizon of 50. Here we select a sample time of 1 minute to study the effect of other tuning parameters. The step response coefficients generated from this plant are shown in Figure 16-5. We can see that a model length of at least 20 should be used, since that is when the output is reasonably close to steady state.

Figure 16-5. Step response coefficients for the first-order example. Sample time = 1 minute; model length, N = 25.

graphics/16fig05.gif

The importance of prediction horizon is shown clearly in Figure 16-6. In both simulations a control horizon of 1 is used. A prediction horizon of 1 results in the setpoint being achieved in 1 time step, while a prediction horizon of 5 yields a much slower response. Notice, however, that P = 1 requires much more control action than P = 5. Although not shown here, the shorter prediction horizon is more sensitive to model uncertainty; these simulations have assumed a perfect model.

Figure 16-6. Closed-loop responses to a step setpoint change at t = 1 min, first-order example. Sample time = 1 minute; model length, N = 25; control horizon, M = 1; no weighting on input. Comparison of prediction horizons, P = 5 and P = 1.

graphics/16fig06.gif

The importance of the model length is shown in Figure 16-7. Since a model length of 6 does not capture the complete dynamics of the process (see Figure 16-5), it effectively results in a model error and poor performance compared with a model length of 25.

Figure 16-7. Closed-loop responses to a step setpoint change at t = 1 min, first-order example. Sample time = 1 minute; prediction horizon, P = 5; control horizon, M = 1; no weighting on input. Comparison of model lengths, N = 25 and N = 6.

graphics/16fig07.gif

From Equation (16.14), for N = 6, P = 5, M = 1, we find (see Figure 16-5 for the step response coefficients) the following dynamic (Sf) and past move (Spast) matrices.

graphics/16equ24b.gif


also, selecting a control move weight of 0

graphics/16equ24c.gif


we calculate the feedback gain matrix from Equation (16.23)

graphics/16equ24d.gif


and K1 = K since the control horizon (M) is 1 (the reader should verify these numerical results using MATLAB), the feedback gain matrix is:

graphics/16equ24e.gif


in the simulations shown, the process is initially at steady state when the unit step setpoint change at t = 1 minute is made. Since deviation variables are used, the values of all previous manipulated inputs and outputs are 0. The unforced error vector, E, from Equation (16.16) is (we have transposed it to a row vector to save space)

graphics/16equ24f.gif


so the first control move, after the setpoint change is made is

graphics/16equ24g.gif

which is consistent with the first control move shown in Figure 16-7.

Example 16.2: Van de Vusse Reactor

Consider the van de Vusse reactor problem covered in Module 5. The continuous state space model is

graphics/16equ24h.gif


where the measured state (output) is the concentration of the second component and the manipulated input is the dilution rate. The manipulated input-output process transfer function for the reactor is

graphics/16equ24i.gif


Step Response Model

The discrete step response model is shown in Figure 16-8, for a sample time of 0.1 minute. Notice that a model length of at least 35 is needed to capture the complete dynamic behavior.

Figure 16-8. Step response coefficients for the van de Vusse example. Sample time = 0.1 minutes, model length, N = 50.

graphics/16fig08.gif

Effect of Prediction Horizon

A sample time of 0.1 minute, a model length of N = 50, and a control horizon of M = 1 are used in the following simulations. For this particular example, the prediction horizon does not appear to have an appreciable effect, as shown in Figure 16-9; the setpoint tracking performance is roughly the same for prediction horizons of P = 10 and 25. There is a lower limit, however, to the length of the prediction horizon that can be used. A prediction horizon of 7 or less results in an unstable closed-loop system, as shown in Figure 16-10. This is not due to any model error, since we have assumed a perfect model in these simulations. If the prediction horizon is too short, the initial step response coefficients dominate. Since these are negative while the later coefficients are positive (corresponding to a positive process gain), the prediction is really in error. The effect is the same as using a PID controller with a controller gain that is the wrong sign.

Figure 16-9. Closed-loop responses to a step setpoint change, van de Vusse example. Sample time = 0.1 minute; model length, N = 50; control horizon, M = 1; no weighting on input. Comparison of prediction horizons, P = 10 and P = 25.

graphics/16fig09.gif

Figure 16-10. Closed-loop responses to a step setpoint change, van de Vusse example. Sample time = 0.1 minute; model length, N = 50; control horizon, M = 1; no weighting on input. Comparison of prediction horizons, P = 7 and P = 8.

graphics/16fig10.gif

    [ Team LiB ] Previous Section Next Section