Title: Dynamic Matrix Control - Introduction
1Dynamic Matrix Control - Introduction
- Developed at Shell in the mid 1970s
- Evolved from representing process dynamics with a
set of numerical coefficients - Uses a least square formulation to minimize the
integral of the error/time curve
2Dynamic Matrix Control - Introduction
- DMC algorithm incorporates feedforward and
multivariable control - Incorporation of the process dynamics makes it
possible to consider deadtime and unusual dynamic
behavior - Using the least square formulation made it
possible to solve complex multivariable control
calculations quickly
3Dynamic Matrix Control - Introduction
- Consider the following furnace example (Cutlet
Ramaker) - MV
- Fuel flow FIC
- DV
- Inlet temperatureTI
- CV
- Outlet temperature TIC
4Dynamic Matrix Control - Introduction
- The furnace DMC model is defined by its dynamic
coefficients - Response to step change in fuel, a
- Response to step change in inlet temperature, b
5Dynamic Matrix Control - Introduction
- DMC Dynamic coefficents
- Response to step change in fuel, a
- Response to step change in inlet temperature, b
6Dynamic Matrix Control - Introduction
- The DMC prediction may be calculated from those
coefficients and the independent variable changes
7Dynamic Matrix Control - Introduction
- Feedforward prediction is enabled by moving the
DV to the left hand side
8Dynamic Matrix Control - Introduction
- Predicted response determined from current outlet
temperature and predicted changes and past
history of the MVs and DVs - Desired response is determined by subtracting the
predicted response from the setpoint - Solve for future MVs -- Overdetermined system
- Least square criteria (L2 norm)
- Very large changes in MVs not physically
realizable - Solved by introduction of move suppression
9Dynamic Matrix Control - Introduction
- Controller definition
- Prediction horizon 30 time steps
- Control horizon 10 time steps
- Initialization
- Set CV prediction vector to current outlet
temperature - Calculate error vector
10Dynamic Matrix Control - Introduction
- Least squares formulation including move
suppression
Move suppression
11Dynamic Matrix Control - Introduction
- DMC Controller cycle
- Calculate moves using least square solution
- Use predicted fuel moves to calculate changes to
outlet temperature and update predictions - Shift prediction forward one unit in time
- Compare current predicted with actual and adjust
all 30 predictions (accounts for unmeasured
disturbances) - Calculate feedforward effect using inlet
temperature - Solve for another 10 moves and add to previously
calculated moves
12Dynamic Matrix Control - Introduction
- Furnace Example
- Temperature Disturbance DT15 at t0
- Three Fuel Moves Calculated
13Dynamic Matrix Control Basic Features Since 1983
- Constrain max MV movements during each time
interval - Constrain min/max MV values at all times
- Constrain min/max CV values at all times
- Drive to economic optimum
- Allow for feedforward disturbances
14Dynamic Matrix Control Basic Features Since 1983
- Restrict computed MV move sizes (move
suppression) - Relative weighting of MV moves
- Relative weighting of CV errors (equal concern
errors) - Minimize control effort
15Dynamic Matrix Control Basic Features Since 1983
pcr k gt M M number of time intervals required
for CV to reach steady-state j index on time
starting at the initial time d unmeasured
disturbance
- For linear differential equations the process
output can be given by the convolution theorem
16Dynamic Matrix Control Basic Features Since 1983
pcr Where, N number of future moves M time
horizon required to reach steady state Note the
estimated outputs depend only on the N computed
future inputs
- Breaking up the summation terms into past and
future contributions
17Dynamic Matrix Control Basic Features Since 1983
- Let Nnumber future moves, Mtime horizon to
reach steady state, then in matrix form
18Dynamic Matrix Control Basic Features Since 1983
- Setting the predicted CV value to its setpoint
and subtracting the past contributions, the
simple DMC equation results
pcr Dynamic matrix A is size MxN where M is the
number of points required to reach steady-state
and N is the number of future moves
19Dynamic Matrix Control Basic Features Since 1983
- To scale the residuals, a weighted least squares
problem is posed
pcr wi relative weighting of the ith CV which
will be repeated M times to form the diagonal
weighting matrix W
- For example, the relative weights with two CVs
20Dynamic Matrix Control Basic Features Since 1983
- To restrict the size of calculated moves a
relative weight for each of the MVs is imposed
21Dynamic Matrix Control Basic Features Since 1983
- Subject to linear constraints
- The change in each MV is within a step bound
22Dynamic Matrix Control Basic Features Since 1983
- Subject to linear constraints
- Size of each MV step for each time interval
23Dynamic Matrix Control Basic Features Since 1983
- Subject to linear constraints
- MV calculated for each time interval is between
high and low limits
24Dynamic Matrix Control Basic Features Since 1983
- Subject to linear constraints
- CV calculated for each time interval is between
high and low limits
25Dynamic Matrix Control Basic Features Since 1983
- The following LP subproblem is solved
- where the economic weights are know a priori
Minimize
Subject to
26Dynamic Matrix Control Basic Features Since 1983
- The original dynamic matrix is modified
- Aij is the dynamic matrix of the ith CV with
respect to the jth MV,