You are on page 1of 35

DYNAMIC MATRIX

CONTROL

Presented by
Chinta Manohar
D Surya Suvidha

DYNAMIC 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

DYNAMIC 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

DMC BLOCK DIAGRAM

At each time step control is computed by


solving an openloop optimization problem for
the prediction horizon
First value of the computed control sequence is
applied
At the next time step, new system is recomputed

DYNAMIC MATRIX CONTROL EXAMPLE


Consider

the following furnace example


(Cutlet & Ramaker)
Process
Heater
MV (manipulated variable)
Fuel

flow FIC

DV(dynamic
Inlet

variable)

temperature TI

CV(control
Outlet

Process Flow

Ti

Fp
FIC

variable)

temperature TIC
Fuel

TIC

CONT
furnace DMC
model is defined by its
dynamic coefficients a
and b
Response to step
change in fuel, a
Response to step
change in inlet
temperature, b

0.014
0.086

0.214

0.0
0.240

0.340

0.414
0.600

0.465
0.540

The

,b

0.736
0.836

0.590
0.622

0.904
0.949

0.640
0.653

0.986

0.658

CONT
DMC

Dynamic
coefficents
Response to step
change in fuel, a
Response to step
change in inlet
temperature, b

Fuel Coefficients ai
1.5
1
0.5
0

Fuel Coefficients ai

10

Inlet Temperature Coefficients bi


1
Inlet Temperature
Coefficients bi

0.5
0
0

10

DYNAMIC MATRIX CONTROL


MATRIX COMPUTATION
The

DMC prediction may be calculated from those


coefficients and the independent variable changes
CV 1

2
CV

a1
a
2

0
a1

0
0

b1
b2

0
b1

CV 3 a3 a2



CV i ai ai 1

a1

b3

b2

ai 2

bi

bi 1

MV 1
0
2

MV

0
MV 3
b1
1
DV

DV 2

bi 2
3
DV
8

DYNAMIC MATRIX CONTROL


FEED FORWARD PREDICTION
Feedforward

prediction is enabled by moving the


DV to the left hand side
CV 1 b1

CV

CV 3 b3 DV 1

CV i bi

a1
a2

0
a1

a3 a2

ai ai 1

0
0 MV 1

2
a1 MV

MV 3
ai 2
9

CONT
Controller

definition

Prediction

horizon = 30

time steps
Control horizon = 10
time steps
Initialization
Set

CV prediction vector
to current outlet
temperature
Calculate error vector

CV 1 CV 0


CV 30 CV 0

e1 SP1 CV 1


e 30 SP 30 CV 30

10

LEAST SQUARE APPROACH


Least

squares formulation including move


suppression
0
a1
a2

0
0
a1


a
30

a29

a28

1,1 0
0
2, 2


0
0

0
9,9
0

a1
a
2
a3

Move
suppression

0
0
a1

MV 1

MV 2

a21

0 MV 30

0
10,10

e1
2
e

e10
0

11

DYNAMIC MATRIX CONTROLLER


CYCLE

DMC Controller steps


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
12

FURNACE RESPONSE
Furnace

Furnace Temperature Response

Temperature

Example
Temperature
Disturbance
DT=15 at t=0
Three Fuel
Moves Calculated

15
10
5
0
-5 0
-10
-15

625

600
5
Fuel_0
Temp_0
Fuel_1
Temp_1
Fuel_2
Prediction

10
Time

13

15
575

DYNAMIC MATRIX CONTROLRULES


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

14

CONT
Restrict

computed MV move sizes (move


suppression)
Relative weighting of MV moves
Relative weighting of CV errors (equal concern
errors)
Minimize control effort

15

CONT
For

linear differential equations the process output


can be given by the convolution theorem
k

CV k 1 CV 0 ak j 1 MV j d k
j 0

CV 1 CV 0 a1 MV 0 d 0
CV 2 CV 0 a2 MV 0 a1 MV 1 d 1

CV 3 CV 0 a3 MV 0 a2 MV 1 a1 MV 2 d 2
16

CONT
Breaking

up the summation terms into past and


future contributions

CV k l CV

k l

k N 1

ak l j MV

j k

k 1

k 1

CV CV a1 MV k
k 2
k 2
CV CV a2 MV k a1 MV k 1
CV

k 3

CV

k 3

a3 MV k a2 MV k 1 a3 MV k 2
17

CONT
Let

N=number future moves, M=time horizon to


reach steady state, then in matrix form
CV

k 2
CV

CV

k 1

k M
CV

k 1
k 2

a1
a
2

CV a N

k M
CV
aM

aM

0
a1

a N 1

aM 1

aM

MV k

a1 MV k 1

aM N 1 MV k N 1

aM
18

CONT
Setting

the predicted CV value to its setpoint and


subtracting the past contributions, the simple DMC
equation results

CV k 1 CV k 1
S
k 2
S

CV

CV

CVSk M CV

k 2

k M

e A MV

19

CONT
Predicted

response is determined from current


outlet temperature, 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

20

SCALING OF RESIDUALS

To scale the residuals, a weighted least squares problem is


1
posed
1
Min W 2 A MV e
2
2
w1

For example,
the relative
weights with
two CVs

w1

1
2

w1

w2

w2

w2

21

DMC-RESTRICTION
To

restrict the size of


calculated moves a
relative weight for
each of the MVs is
imposed

Min W MV
2

R
1
2

r1

r1

r1

r2

r2

r2

22

CONT
Subject
The

to linear constraints

change in each MV is within a step bound

MV LO

LO
MV

MV

LO

MV HI

HI
MV

MV

k 1
MV

k N 1
HI
MV
MV
k

23

CONT
Subject

to linear constraints

Size

of each MV step for each


time interval

MV k
k 1

MV

MV
MV

MV

k N 1
MV
MV

IL

1 0 0 MV k
1 1
k 1
MV


k N 1

1 1 1 MV
24

CONT
Subject

to linear constraints

MV calculated

for each time interval is between high

and low limits

MV LO

MV

MV k
k 1

MV HI

MV

MV MV I MV
MV MV
L

LO
k N 1
HI
MV MV
MV
MV MV
LO

HI

25

CONT
Subject

to linear constraints

CV calculated

for each time interval is between high and

low limits

CV

LO
CV

LO

CV

LO

CV k 1
MV k CV HI

k 2
k 1
HI
MV
CV
CV

k M
k N 1
HI
MV
CV
CV

26

LINEAR PROGRAM SOLUTION


The

following LP subproblem is solved

where

the economic weights are know a priori

Minimize 1MV1* 2 MV2* 3 MV3*


Subject to:
CV1LO g11MV1* g12 MV2* g13MV3* CV1HI
CV2LO g 21MV1* g 22 MV2* g 23MV3* CV2HI
27

MODIFIED DMC
The

original dynamic matrix is modified

Aij

is the dynamic matrix of the ith CV with respect


to the jth MV,

A 11
A
21
A 1t

0
0

A 12
A 22
0
1t
0

A13

A 23

0 ,e

1t

e1

e2

MV1* MV 1

*
MV2 MV 2
MV3* MV 3
28

DMC TUNING RULES


Approximate

the process dynamics of all


controller output to measured process variables

29

CONT
Select

the sampling time as close as possible to

Compute

the prediction horizon, P and model


horizon, N

30

CONT...
Compute

the control horizon , M

Select

the controlled variable weights to scale


process variable units to be the same

Compute

the move suppression coefficients

31

CONT

Implement DMC using the traditional step


response of the actual process and the initial
values of parameters
32

RESPONSE OF DMC

Performance of DMC using tuning rules


T=100, P=N=198, =3.53

33

REFERENCES

Tuning guidelines for DMC- Danielle


Dougherty and Douglas J. Cooper-Ind. Eng.
Chem. Res. 2003, 42, 1739-1752
http://web.stanford.edu/class/archive/ee/ee392m/
ee392m.1056/Lecture14_MPC.pdf
www.che.utexas.edu/course/che360/lecture_notes
tx.technion.ac.il/~dlewin/054414/LECTURE_12.
pdf
34

THANK YOU

35