# 20-1

1234567898

20.1

a) The unit step response is
1
]
1

¸

+

+
+ ·
,
_

¸
¸

,
_

¸
¸
+ +
· ·

1 10
20
1 5
5 1
2
1
) 1 5 )( 1 10 (
2
) ( ) ( ) (
s s s
e
s s s
e
s U s G s Y
s
s
p

Therefore,

[ ]
10 / ) 1 ( 5 / ) 1 (
2 1 ) 1 ( 2 ) (
− − − −
− + − ·
t t
e e t S t y

For ∆t = 1.0,

{ } ... 3096 . 0 , 2174 . 0 , 1344 . 0 , 06572 . 0 , 01811 . 0 , 0 ) ( ) ( · · ∆ · i y t i y S
i

b) From the expression for y(t) in part (a) above

y(t) = 0.95 (2) at t =37.8, by trial and error.

Hence N = 38, for 95% complete response.

20.2

Note that ) ( ) ( ) ( ) ( s G s G s G s G
m p v
· . From Figure 12.2,

a)
) 1 3 )( 1 15 (
) 9 1 ( 2
) (
) (
) (
+ +

· ·
s s
s
s G
s P
s Y
m
(1)

For a unit step change, s s P / 1 ) ( · , and (1) becomes:

) 1 3 )( 1 15 (
) 9 1 ( 2 1
) (
+ +

·
s s
s
s
s Y
m

Partial Fraction Expansion:

Solution Manual for Process Dynamics and Control, 2
nd
edition,
Copyright © 2004 by Dale E. Seborg, Thomas F. Edgar and Duncan A. Mellichamp
20-2
·
+
+
+
+ ·
) 1 3 ( ) 1 15 (
) (
s
C
s
B
s
A
s Y
m
) 1 3 )( 1 15 (
) 9 1 ( 2 1
+ +

s s
s
s
(2)
where

2
) 1 3 )( 1 15 (
) 9 1 ( 2
0
·
+ +

·
· s
s s
s
A
60
) 1 3 (
) 9 1 ( 2
15
1
− ·
+

·
− · s
s s
s
B
6
) 1 15 (
) 9 1 ( 2
3
1
·
+

·
− · s
s s
s
C

Substitute into (2) and take inverse Laplace transform:

3 / 15 /
2 4 2 ) (
t t
m
e e t y
− −
+ − · (3)

b) The new steady-state value is obtained from (3) to be y
m
(∞)=2

For t = t
99
, y
m
(t)=0.99y
m
(∞) = 1.98. Substitute into (3)

3 / 15 /
99 99
2 4 2 98 . 1
t t
e e
− −
+ − · (4)

Solving (4) for t
99
by trial and error gives t
99
≈ 79.5 min

Thus, we specify that ∆t =79.5 min/40 ≈ 2 min

Sample No S
i
Sample No S
i
Sample No S
i

1 -0.4739 16 1.5263 31 1.9359
2 -0.5365 17 1.5854 32 1.9439
3 -0.4106 18 1.6371 33 1.9509
4 -0.2076 19 1.6824 34 1.9570
5 0.0177 20 1.7221 35 1.9624
6 0.2393 21 1.7568 36 1.9671
7 0.4458 22 1.7871 37 1.9712
8 0.6330 23 1.8137 38 1.9748
9 0.8022 24 1.8370 39 1.9779
10 0.9482 25 1.8573 40 1.9807
11 1.0785 26 1.8751
12 1.1931 27 1.8907
13 1.2936 28 1.9043
14 1.3816 29 1.9163
15 1.4587 30 1.9267

Table S20.2. Step response coefficients
20-3
20.3

From the definition of matrix S, given in Eq. 20-20, for P=5, M=1, with S
i

obtained from Exercise 20.1,

S
1
1
1
1
1
1
]
1

¸

·
1
1
1
1
1
1
]
1

¸

·
2174 . 0
1344 . 0
06572 . 0
01811 . 0
0
5
4
3
2
1
S
S
S
S
S

From Eq. 20-58

K
c
= (S
T
S)
-1
S
T

K
c
= [ ] 1076 . 3 9206 . 1 9395 . 0 2589 . 0 0 = K
c1
T

Because K
c1
T
is defined as the first row of K
c
.

Using the given analytical result,

K
c1
T
= [ ]
5 4 3 2 1
5
1
2
) (
1
S S S S S
S
i
i ∑
·

= [ ] 2174 . 0 1344 . 0 06572 . 0 01811 . 0 0
06995 . 0
1

= [ ] 1076 . 3 9206 . 1 9395 . 0 2589 . 0 0

which is the same as the answer obtained above using (20-58)

20.4

The step response is obtained from the analytical unit step response as in
Example 20.1. The feedback matrix K
c
is obtained using Eq. 20-57 as in
Example 20.5. These results are not reported here for sake of brevity. The
closed-loop response for set-point and disturbance changes are shown
below for each case. MATLAB MPC Toolbox was used for the
simulations.
20-4
i) For this model horizon, the step response is over 99% complete as in
Example 20.5; hence the model is good. The set-point and disturbance
responses shown below are non-oscillatory and have long settling times
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
2
Manipulated Variables
Time
u

Figure S20.4a. Controller i); set-point change.

0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90
.
20-5
ii) The set-point response shown below exhibits same overshoot, smaller
settling time and undesirable "ringing" in u compared to part i). The
disturbance response shows a smaller peak value, a lack of oscillations,
and faster settling of the manipulated input.
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-10
-5
0
5
10
15
Manipulated Variables
Time
u

Figure S20.4c. Controller ii); set-point change.

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1.5
-1
-0.5
0
Manipulated Variables
Time
u

Figure S20.4d. Controller ii); disturbance change.
20-6
iii) The set-point and disturbance responses shown below show the same
trends as in part i).
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-10
-5
0
5
10
Manipulated Variables
Time
u

Figure S20.4e. Controller iii); set-point change.

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1.5
-1
-0.5
0
Manipulated Variables
Time
u

Figure S20.4f. Controller iii); disturbance change.

20-7
iv) The set-point and load responses shown below exhibit the same trends as
in parts (i) and (ii). In comparison to part (iii), this controller has a larger
penalty on the manipulated input and, as a result, leads to smaller and less
oscillatory input effort at the expense of larger overshoot and settling time
for the controlled variable.
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1
0
1
2
3
4
Manipulated Variables
Time
u

Figure S20.4g. Controller iv); set-point change.

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1.5
-1
-0.5
0
Manipulated Variables
Time
u

Figure S20.4h. Controller iv); disturbance change.

20-8
20.5

There are many sets of values of M, P and R that satisfy the given
constraint for a unit load change. One such set is M=3, P=10, R=0.01 as
shown in Exercise 20.4(iii). Another set is M=3, P=10, R=0.1 as shown in
Exercise 20.4(iv). A third set of values is M=1, P=5, R=0 as shown in
Exercise 20.4(i).

20.6

(Use MATLAB Model Predictive Control Toolbox)

As shown below, controller a) gives a better disturbance response with a
smaller peak deviation in the output and less control effort. However,
controller (a) is poorer for a set-point change because it leads to
undesirable "ringing" in the manipulated input.

0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-10
-5
0
5
10
15
Manipulated Variables
Time
u

Figure S20.6a. Controller a); set-point change
20-9
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-10
-5
0
5
10
15
Manipulated Variables
Time
u

Figure S20.6b. Controller a); disturbance change.

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1.5
-1
-0.5
0
Manipulated Variables
Time
u

Figure S20.6c. Controller b); set-point change.

20-10
0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
Outputs
Time
y
0 10 20 30 40 50 60 70 80 90 100
-1.5
-1
-0.5
0
Manipulated Variables
Time
u

Figure S20.6d. Controller b); disturbance change.

20.7

The unconstrained MPC control law has the controller gain matrix:

K
c
= (S
T
QS+R)
-1
S
T
Q

For this exercise, the parameter values are:
m = r = 1 (SISO), Q=I, R=1 and M=1

Thus (20-57) becomes

K
c
= (S
T
QS+R)
-1
S
T
Q
Which reduces to a row vector: K
c
=
[ ]

·
+
P
i
i
P
S
S S S S
1
2
3 2 1
1
...

20.8

Inequality constraints on the manipulated variables are usually satisfied if
the instrumentation and control hardware are working properly. However
the constraints on the controlled variables are applied to the predicted
outputs. If the predictions are inaccurate, the actual outputs could exceed
the constraints even though the predicted values do not.
20-11
20.9

(Use MATLAB Model Predictive Control Toolbox)

a) M=5 vs. M=2

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.9a1. Simulations for P=10 , M=5 and R=0.1I.

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.9a2. Simulations for P=10 , M=2 and R=0.1I.
20-12
b) R=0.1I .vs R=I

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.9b1. Simulations for P=10 , M=5 and R=0.1I.

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.9b2. Simulations for P=10 , M=5 and R=I.

Notice that the larger control horizon M and the smaller input weighting
R, the more control effort is needed.
20-13
20.10

The open-loop unit step response of G
p
(s) is

· ) (t y L
-1
·

,
_

¸
¸
+

s s
e
s
1
1 10
6
L
-1
·

,
_

¸
¸

,
_

¸
¸
+

1 10
10 1
6
s s
e
s
[ ]
10 / ) 6 (
1 ) 6 (
− −
− −
t
e t S

By trial and error, y(34) < 0.95, y(36) > 0.95.

Therefore N∆t =36 or N = 18

The coefficients { }
i
S are obtained from the expression for y(t) and the
predictive controller is obtained following the procedure of Example 20.5.
The closed-loop responses for a unit set-point change are shown below for
the three controller tunings

20.11

(Use MATLAB Model Predictive Control Toolbox)

a) M=5 vs. M=2
0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.3
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.11a1. Simulations for P=10 , M=5 and R=0.1I.
20-14
0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.3
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.11a2. Simulations for P=10 , M=2 and R=0.1I.

b) R=0.1I .vs R=I

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.3
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.11b1. Simulations for P=10 , M=5 and R=0.1I.
20-15

0 20 40 60 80 100 120 140
-0.5
0
0.5
1
1.5
2
Time (min)
y(t)
XD
XB
0 20 40 60 80 100 120 140
-0.3
-0.2
-0.1
0
0.1
0.2
Time (min)
u(t)
R
S

Figure S20.11b2. Simulations for P=10 , M=5 and R=I..