You are on page 1of 36

EPSAC MBPC

A ‘Gent’le Approach to MBPC


Model Based
PREDICTIVE CONTROL

Robin DE KEYSER
Ghent University / BELGIUM
Email: rdk@autoctrl.UGent.be
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 1
MBPC Strategy

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 2
MBPC Principles
2 KEY principles:
• explicit on-line use of a process model
(forecasting)
• optimal control action based on cost-function minimization
(constraints)

MBPC = family of methods; family-members differ by:


• type of cost function, constraints, optimizer
• type of model for process and disturbances
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 3
MBPC History
• pioneering work 2 decennia ago
- Industrial:
- EU: MAC (Adersa, Richalet, 78)
- USA: DMC (Shell Oil, Cutler, 80)
- Academic: adaptive prediction & control (all in Europe)
- EPSAC (Gent, De Keyser, 80)
- EHAC (London, Ydstie, 84)
- GPC (Oxford, Clarke, 85)
- MUSMAR (Firenze, Mosca, 85)
• 1990’s: boom all over the world : - industrial applications
- academic research
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 4
Application Area
• PID (95 %):
- lower level
- regulatory, stabilizing, DDC
• MBPC (5 %):
- optimizing level
- economically important loops (money-making loops)

• Process industry (refinery, petrochemical, chemical,


steel, pharmaceutical, food, …)
• Production lines (discrete parts manufacturing)
• Products (sophisticated mechatronic devices)
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 5
Benefits & Requirements
BENEFITS:
• easy concepts, intuitive
• nonlinear, interactive MV
• constrained control
• dead-time and feedforward compensation
• unusual dynamic behavior (NMP, unstable)
• open methodology

ENABLING TECHNOLOGIES:
• modeling and identification
• digital computers
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 6
MBPC Methodology
• prediction by means of a Reference
Trajectory
Past Inputs
process model And Outputs
Predicted
Outputs
+
• specification of a reference Model
-
trajectory
Future
• structuring of the future Inputs
(postulated) control law
• definition of a cost function Optimizer
Future Errors
(and constraints)
• calculation of the Cost Constraints
Function
optimizing control scenario
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 7
Objective
Find the control vector
Nu =4
u u(t+k/t) {u(t+k / t}, k=0…N2-1}
which minimizes the cost
y(t+k/t) function

N2

∑[r(t +k /t)− y(t +k /t)]


r=w 2
y
time
N1=2 N2=8
k=N1

PAST current time t FUTURE

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 8
EPSAC: Process Model

y(t ) = x(t ) + n(t ) e(t ): white noise (uncorrelated


 noise with zero mean value)

n C(q −1 ) = 1 + c q −1 +...+ c q −nc
u x + y  1 nc

MODEL D(q −1 ) = 1 + d q −1 +...+ d q −nd


+
 1 nd

C(q−1 ) (1 + cq−1 )
C ( q −1 ) −1 =
n(t ) = e(t ) D(q ) (1 + dq−1 )(1 − q−1 )
−1
D (q )

x(t ) = f [ x(t − 1), x(t − 2), , u(t − 1), u(t − 2), ]


Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 9
CARIMA Model
−1
−1 −1 C(q )
A(q ) y(t ) = B(q )u(t ) + −1 e(t )
1− q
 B( q −1 )
with: x (t ) = −1 u ( t ), a linear PTF
 A( q )
( Pulse Transfer Function )
 B( q −1 ) = b1q −1 +…+bnb q − nb  −1
 n ( t ) = C ( q )
−1 −1 − na −1 e ( t )
 A( q ) = 1 + a1q +…+a na q  −1
A( q )(1 − q )

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 10
NN Model
1 1
wi1 w11 w1
x(t-1) 12
z1 S
x(t-2) 2
.. w1 1
x(t-3) zi x(t)
u(t-1) .. z 2
n wn
u(t-2) 0
u(t-3) 1 -3 -2 -1 1 2 3 X
wn6

-1

INPUT HIDDEN OUTPUT


layer layer layer

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 11
EPSAC : Multistep Predictor
The prediction of the process output
{y(t+k / t), k=1…N2 }is based on:
• measurements available at time t:
{y( t ), y( t-1 ), … , u( t-1 ), u( t-2 ), …}
• future (postulated) values of the input:
{u( t / t ), u( t+1 / t ), …}

GPC: Diophantine equations EPSAC: Filtering techniques

y(t+k / t) = x(t+k / t) + n(t+k / t)


Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 12
Prediction x(t+k/t)
x(t+k-1/t) y(t+k-1/t)
x(t+k-2/t) y(t+k-2/t)
x(t+k-3/t) y(t+k-3/t)
x(t+k/t) x(t+k/t)
u(t+k-1/t) u(t+k-1/t)
u(t+k-2/t) u(t+k-2/t)
u(t+k-3/t) u(t+k-3/t)
PARALLEL SERIES-PARALLEL

P rocess P rocess
u y u y

+ +
x P -M od el y S /P -M o d el
x - n x - n
u u

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 13
Prediction n(t+k/t)
D ( q −1 ) C ( q −1 )
n f (t ) = −1 n(t ) n(t) = −1 e(t )
C (q ) D (q )

C(q −1 )
nf (t) = − c1nf (t −1) − c2nf (t − 2) −... n(t + k / t ) = −1 n f ( t + k / t )
D(q )
...+ n(t ) + d1n(t −1) + d2n(t − 2)+...

n f (t + k / t ) ≡ 0, k = 1… N 2 n(t +k / t) =−dn
1 (t +k −1/ t) −d2n(t +k −2/ t)−…

…+nf (t +k / t)+cn1 f (t +k −1/ t) +…

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 14
Base/ Optimizing response
y(t + k / t) = ybase(t + k / t) + yoptimize(t + k / t)
• ybase(t+k/t)
-Effect of past control {u(t-1), u(t-2), ... }
-Effect of a basic future control scenario Nu =4
-Effect of future disturbances n(t+k / t) u(t+k/t)
u
• yoptimize(t+k/t)
-Effect of the
optimizing δu(t+k/t)
future control actions ubase(t+k/t)
{δu( t / t ), δu( t + 1 / t ), … δu( t + N u − 1 / t )}
time
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 15
y(t+k/t)=ybase(t+k/t)+yoptimize(t+k/t)

Nu =4
u u(t+k/t)

δu(t+k/t)
ubase(t+k/t)

time

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 16
Optimizing response
impulse input impulse input
δ u(t/t) δu(t+1/t)

h δ u(t+1/t)
impulse response k-1 impulse response
h δ u(t/t)
k

k samples time (k-1) samples time

t t+k t t+k

yoptimize (t + k / t ) = hk δu (t / t ) + hk −1δu ( t + 1 / t ) +...


...+ gk − N u+1 δu (t + N u − 1 / t )
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 17
Basic EPSAC equation

Y = Y + G. U
 hN1 hN1 −1 hN1 −2 ... g N1 − N u +1 
Y=[ y(t +N1 /t) y(t +N2 /t)]T h hN1 hN1 −1 ... ... 
  N1 +1 

 [ base ] G =  ... ... 
T
Y= y (t + N1 / t) ybase (t + N2 / t) ... ... ...
  
U=[δ u(t /t) δ u(t +Nu −1/t)]  ... ... ... ... ... 
T

 hN hN 2 −1 hN 2 −2 ... g N 2 − N u +1 
 2

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 18
Objective
Find the control vector
Nu =4
u u(t+k/t) {u(t+k / t}, k=0…N2-1}
which minimizes the cost
y(t+k/t) function

N2

∑[r(t +k /t)− y(t +k /t)]


r=w 2
y
time
N1=2 N2=8
k=N1

PAST current time t FUTURE

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 19
EPSAC solution
N2

∑[ r(t + k / t ) − y(t + k / t )] = [R − Y − GU] [R − Y − GU]


2 T

k =N1

U = [G G ] [G T (R − Y )]
∗ T −1

The actual control action applied to the process is



u(t ) = ubase (t / t ) + δu(t / t ) = ubase (t / t ) + U (1)
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 20
MIMO MBPC - The method
Generic process model (2 inputs and 2 outputs) :
y1(t) = x1(t) + n1(t)
y2 (t) = x2 (t) + n2t)

x1(t ) = f1[ x1(t −1), x1(t − 2),...


Parallel model structure: ..., u1(t −1), u1(t − 2),..., u2 (t −1), u2 (t − 2),...]
x2 (t ) = f2[ x2 (t −1), x2 (t − 2),...
..., u1(t −1), u1(t − 2),..., u2 (t −1), u2 (t − 2),...]

x1 ( t ) = f1[ y1 ( t − 1), y1 ( t − 2),...


Series-parallel model ..., u1 ( t − 1), u1 ( t − 2),..., u2 ( t − 1), u2 ( t − 2),...]
structure: x2 ( t ) = f2 [ y2 ( t − 1), y2 ( t − 2),...
..., u1 ( t − 1), u1 ( t − 2),..., u2 ( t − 1), u2 ( t − 2),...]
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 21
MIMO MBPC - The method
The disturbances are modeled as  y1 forced ( t + 1 / t ) 
 y 
colored noise processes:  1 forced ( t + 2 / t ) 
 ...... =
 
......
C ( q −1 ) C ( q −1 )  
n1 ( t ) = −1 1
e ( t ) and n 2 ( t ) = −1
e2 ( t )  y1
 forced
( t + N 2 / t )

D(q ) D(q )
 g111 0 0 ... 0 
 11  ∆u1( t / t ) 
 g2 g111 0 ... 0   ∆u ( t + 1 / t ) 
The concepts of base and optimizing  ... ... ... ... ...  
1 +
  ... 
 ... ... ... ... ...   
response lead to the following:  g11 g11 11   ∆ u1 ( t + N u − 1 / t ) 
 N 2 N 2 −1 g N 2 − 2 ... g11
N 2 − N u +1 

 y1(t + k / t) = y1base (t + k / t) + y1optim (t + k / t)  g112


 12
0 0 ... 0 
 ∆u2 ( t / t ) 
  g2 g112 0 ... 0   ∆u ( t + 1 / t ) 
 y2 (t + k / t) = y2base (t + k / t) + y2optim (t + k / t)  ...

... ... ... ...  

2
...


 ... ... ... ... ...   
 g12 g12 12 12  ∆u2 ( t + N u − 1 / t )
 N 2 N 2 −1 g N 2 − 2 ... g N 2 − N u +1 

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 22
MIMO MBPC - The method
1. N2 could be chosen differently for the 2 outputs
2. Nu could be chosen differently for the 2 outputs
3. y1 forced ( t + k / t ) denotes the forced part in the predicted process output
y1 ( t + k / t ) ,being the effects of both future control actions
∆u1 ( t + k / t ) and ∆u2 ( t + k / t )
4. The coefficients of the step response of input j to the output i are denoted by :
{g ij
1 }
g2ij g3ij ... KEY MBPC EQUATION - MIMO CASE

Y1 = Y1 + G 11 . U 1 + G 12 . U 2

Y2 = Y2 + G 21 . U 1 + G 22 . U 2
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 23
MIMO MBPC - Solidary Control

Makes sense even in the case of the number nu of


control variables being unequal to the number ny of (R 1 − Y1 ) T (R 1 − Y1 ) + (R 2 − Y2 ) T (R 2 − Y2 ) +
controlled process outputs. The objective is to find the λ . ( U 1T U 1 + U 2 T U 2 )
control vectors U1 and U2 that minimize the cost
function:
N2

∑1
[ ] Compound matrices:
2
r ( t + k / t ) − y1 ( t + k / t ) +
k = N1 G 1 = [G 11 G 12 ] and G 2 = [G 21 G 22 ]
N2

∑2
[ ]2
r ( t + k / t ) − y 2 ( t + k / t ) +
k = N1 U1 
N u −1
Compound vector: U= 
∑{ 1
[ ] [ ] } U 2 
2 2
λ ∆ u ( t + k / t ) + ∆ u2 ( t + k / t )
k =0
subject to:
∆u1 ( t + k / t ) ≡ 0 and ∆u2 ( t + k / t ) ≡ 0 for k ≥ N u
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 24
MIMO MBPC - Solidary Control

Predicted errors : (R 1 − Y1 ) = (R 1 − Y1 ) − G 1 . U The minimization of the scalar


(R 2 − Y2 ) = (R 2 − Y2 ) − G 2 .U expression V(U) w.r.t to the vector U
Cost function: leads to the optimal (unconstrained)
[(R1 − Y1 ) − G1 .U] [(R 1 − Y1 ) − G1 .U] +
T
solution:
[(R 2 − Y2 ) − G 2 .U] [(R 2 − Y 2 ) − G 2 . U] + λ U T U
T

Standard quadratic cost index: U ∗ = − H −1 f

V ( U ) = U T HU + 2 f T U + c
[
H = G 1T G 1 + G 2T G 2 + λ I ]
H = G1TG1 + G2TG2 + λ I

 f [
=− G T
1 (R1 − Y1 ) + GT
2 (R2 − Y2 ) ] [
f = − G 1T (R 1 − Y1 ) + G T2 (R 2 − Y2 ) ]

c = (R1 − Y1 )T(R1 − Y1 ) + (R2 − Y2 )T(R2 − Y2 )
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 25
MIMO MBPC - Selfish Control
This approach is valid if the number of control variables (manipulated process inputs)
is equal to the number of controlled variables (controlled process outputs). The
objective is to:
• Find the control vector U2 • and the control vector U1
which minimizes the cost which minimizes the cost
function: function:
N2 N2

∑ [ r ( t + k / t ) − y ( t + k / t )] ∑ [r (t + k / t ) − y (t + k / t )]
2 2
1 1 + 2 2 +
k = N1 k = N1
N u −1 N u −1

∑ [ ∆u1( t + k / t )] ∑ [∆u2 ( t + k / t )]
2 2
λ λ
k =0 k =0
subject to: ∆ u1 ( t + k / t ) ≡ 0 for k ≥ N u subject to: ∆u2 ( t + k / t ) ≡ 0 for k ≥ N u
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 26
MIMO MBPC - Selfish Control

Using the matrix notations the The minimization of V1(U1) w.r.t U1 leads to the
optimal (unconstrained) solution:
first cost function can be written:
(R1 − Y1 )T (R1 − Y1 ) + λ .U 1T U 1 = U 1∗ = − H1−1f1 =

[ ] [ ]
(R 1 − Y1 − G 11 .U 1 − G 12 .U 2 )T * T −1 T
G11G11 +λ I . G 11 (R 1 − Y1 − G 12 U 2 )
(R 1 − Y1 − G 11 .U 1 − G 12 .U 2 ) + λ .U 1T U 1

Quadratic form in U1:


The minimization of V2(U2) w.r.t U2 leads to the
V1 ( U 1 ) = U 1T H 1 U 1 + 2 f 1T U 1 + c1 optimal (unconstrained) solution:

H1 = G11 T
G11 + λ I U ∗2 = − H 2−1f 2 =

[ ] .[G ]
−1
T
f1 = −G11 (R 1 − Y1 − G12 U 2 ) G T22G 22 +λ I T
22 (R 2 − Y2 − G 21U 1 )
 T
c1 = (R 1 − Y1 − G 12 U 2 ) (R 1 − Y1 − G 12 U 2 )

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 27
MIMO MBPC - Selfish Control
Combining the 2 expressions
The optimal (unconstrained)
for the optimal solution:
solution is given by:
(G 11
T
G 11 + λ I)U 1 + G 11T T
G 12 U 2 = G 11 (R 1 − Y1 )
 T
G 22G 21 U 1 + (G T22G 22 + λ I)U 2 = G T22 (R 2 − Y2 )
U ∗ = − H −1 f

gives (with the definitions of the  G T G  


H =   T11 1  + λ I
compound matrices and vector):  G 22 G 2  

 G T G    G 11 (R 1 − Y1 )   G 11 (R 1 − Y1 ) 
T T
  11 1  + λ I . U =  T 
 GT G
  22 2    G 22 (R 2 − Y2 ) f = − T 
 G 22 (R 2 − Y2 )

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 28
Constraints

• actuators, valves: limited rate of action, maximum slew


rate
• constructive and safety reasons: bounds in process
variables
• economic targets: operating points are close to limits
• example: input constraints
- clipping
- constrained control

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 29
Constrained Control
Clipping:
Constrained optimization problem
uj < uj (t) < uj (QP: quadratic programming)
u
w + u u 60

-
PID u
u
50
y
u*2 M
40

Constrained Control: 30

• minimize 20

u2 C O

V(U) = UTHU + 2fTU + c 10

• subject to AU < b 10 20
u*1 30 40 50 60

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 30
Interactive MIMO process (1)

Side

R C F
Center
Wafer

S
Side

Rear Center Front

Semiconductor Reactor Wafer and lamp-bank configuration


(3=wafer) (top view of reactor chamber)

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 31
Interactive MIMO process (2)
Clipping (solidary EPSAC): Constrained Control (solidary EPSAC):

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 32
Interactive MIMO process (3)
Constrained Control (solidary EPSAC): Constrained Control (selfish EPSAC):

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 33
Advanced control
C on ve n tion a l m an ua l con trol
C on tr ol P ID con trol
ra tio con trol
ca sca d e con trol
fe ed forw a rd con trol
A d va n c e d g a in sch ed ulin g
C on tr ol: tim e-d ela y c om p en sa tion
c la ssic a l d ec ou p lin g
A d va n c e d p red ictive con trol (M B P C )
C on tr ol: sta tistical qu ality con trol (S Q C )
wid e ly u se d in tern al m od el con trol (IM C )
a d a ptive con trol
A d va n c e d n on lin ear con trol
C on tr ol: op tim al con trol (L Q G )
fe w a p p lic a tio n s ex p ert system s
n eural/fu zz y c on trol
robu st con trol

Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 34
Why advanced control ?
Requirements:
• flexibility in production
• improved quality control
• environmental restrictions
• energy/raw material saving
• maximize product yield
• avoid process shutdown

An Optimizing Control system should drive the process tight


against the operating constraints ===> The control system has
to understand the dynamics of the process.
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 35
WHY Advanced Control?
MOISTURE CONTROL IN PAPER MAKING

• improved moisture control will allow moisture setpoint to be increased (without incurring
a higher risk of excess moisture) THE BEST PRODUCT IS MADE
• this will save energy (steam) BY THE WORST PRODUCER
• it will also enable the paper maker to sell the customer more water (which is cheaper
than selling him fiber)
Robin De KEYSER, Ghent University / Belgium, EeSA Department of Electrical energy, Systems & Automation 36

You might also like