• 검색 결과가 없습니다.

학습기반 공정 동적최적화

N/A
N/A
Protected

Academic year: 2024

Share "학습기반 공정 동적최적화"

Copied!
32
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

M0000.026500

학습기반 공정 동적최적화

JONG MIN LEE

School of Chemical & Biological Engineering

Lecture 3: Dynamic Matrix Control (DMC)

(2)

In this lecture, we will discuss

• Process representation: step response model

• Prediction (perfect model)

• Incorporation of “feedback”

• Optimization: unconstrained and constrained QP

• Implementation

(3)

The Genesis of MPC

- From Prof. Manfred Morari’s Slides

Who invented predictive control?

God ...

Predictive control is a discovery, not an invention, ...

But God need prophets.

IFAC Congress

Munich, 1987

(4)

Dynamic Matrix Control

First appeared in the open literature in 1979 (Cutler ad Ramaker; Prett and Gillette)

(5)

Dynamic Matrix Control

• Reformulation as a quadratic program (QP) by Garcia and Morshedi in 1986

“Quadratic Dynamic Matrix Control”

• AspenTech: DMCplus

• Prototype of commercial algorithms presently used

in the process industry

(6)

Process Representation

Stable, Single Input Single Output (SISO):

Dynamic System

unit step-response function:

u 1

Ts

y

Ts

S0 S1 S2

Sn Sn+1 Sn = Sn+1= Sn+2 = ... = S S0 = 0

u 1

Ts

y

Ts

S0 S1 S2

Sn Sn+1 Sn = Sn+1 = Sn+2 = ... = S S0 = 0

S = [S

1

, S

2

, S

3

, . . . , S

n

]

T

Complete description of the process requires n step response coefficients 0

6

(7)

Principle of Superposition

Linearity

1 2

1/2

1 1

=

-3/2

u(0) u(1)

u(2)

+ +

u u u u

?

y

y(0)

y(1) y(2)

y(3) y(4)

y(5)

u(k i+ 1) =u(k i+ 1) u(k i)

y(1) = y(0) +S1 u(0)

y(2) = y(0) +S1 u(1) +S2 u(0) ... = ...

y(k+ 1) = y(0) +

nX1

i=1

Si u(k i+ 1) +Sn{ u(k n+ 1) + u(k n) +· · · u(0)}

= y(0) +

nX1

i=1

Si u(k i+ 1) +Snu(k n+ 1)

7

(8)

Elements of DMC

target

Future Past

k+1 k+m-1 k+p

k input

Horizon

∆u(k)

∆u(k+1)

~y(k) ~y(k+1) y(k+2)

~

(9)

1. Prediction (Stable, SISO)

At time k: we know y(k) and need to compute ∆u(k), which we don’t know yet.

i.e., y is measured slightly before time k and u is adjusted slightly after time k.

ˆ

y(k + 1) : prediction of y(k+1) made at time k. Assume y(0) = 0 ˆ

y(k + 1) =

nX1

i=1

Si u(k i + 1) + Snu(k n + 1)

Effect of current

control action Effect of past control actions

ˆ

y(k + 1) = S1 u(k) +

nX1

i=2

Si u(k i + 1) + Snu(k n + 1)

Substitute k = k+1, and

Effect of future control action

Effect of current

control action Effect of past control actions

ˆ

y(k + 2) = S1 u(k + 1) + S2 u(k) +

nX1

i=3

Si u(k i + 2) + Snu(k n + 2)

(10)

j-step ahead prediction

ˆ

y(k + j) = Xj

i=1

Si u(k + j i) +

nX1

i=j+1

Si u(k + j i) + Snu(k + j n)

Effect of current and future control actions Effect of past control actions

Let

ˆ

y0(k + j) =

nX1

i=j+1

Si u(k + j i) + Snu(k + j n)

This is referred to as “predicted unforced response” with past inputs only.

U = [. . . , u(k 2), u(k 1), 0, 0, 0, . . .]T for j = 1

ˆ

y(k + j ) =

X

j

i=1

S

i

u(k + j i) + ˆ y

0

(k + j )

(11)

Multiple Predictions

0(k + 1) = ⇥ ˆ

y0(k + 1), yˆ0(k + 2), · · · , yˆ0(k + p)⇤T U(k) = [ u(k), u(k + 1), · · · , u(k + m 1)]T

Y(kˆ + 1) = [ˆy(k + 1), y(kˆ + 1), · · · , y(kˆ + p)]T p: prediction horizon

m: control horizon m  p  n + m

Y(k ˆ + 1) = S U(k) + ˆ Y

0

(k + 1) matrix form

S =

2 66 66 66 66 66 4

S1 0 0 · · · 0

S2 S1 0 · · · 0

S3 S2 S1 · · · 0

· · · ·

Sm Sm 1 Sm 2 · · · S1

Sm+1 Sm Sm 1 · · · S2

· · · ·

Sp Sp 1 Sp 2 · · · Sp m+1

3 77 77 77 77 77 5

(12)

Output Feedback and Bias Correction

So far, we have not utilized the latest observation, y(k)

The fact is that there is no perfect model. Corrected prediction by adding a constant bias term.

˜

y(k + j) = ˆy(k + j) + b(k + j)

b(k + j) = y(k) y(k) ˆ ˆ

y(k)

: one-step ahead prediction made at the previous time instance, k-1 or model output

˜

y(k + j ) = ˆ y(k + j ) + [y(k) y(k)] ˆ

Y(k˜ + 1) = S U(k) + ˆY0(k + 1) + [y(k) y(kˆ )]1

Y(k˜ + 1) = [˜y(k + 1), y˜(k + 2), · · · , y(k˜ + p)]T 1 = [1, 1, ,· · · , 1]T

(13)

Recursive Update of Unforced Response

For stable models, one can update the predicted unforced response after u(k) is computed.

n0(k + 1) = MYˆn0(k) +S u(k)

works like a state; hence you need “n” not “p”

or

2 66 64

ˆ

y0(k + 1) ˆ

y0(k + 2) ...

ˆ

y0(k + p) 3 77 75 =

2 66 66 66 4

0 1 0 · · · 0

0 0 1 . .. 0 ... ... ... . .. 0

0 0 · · · 0 1

0 0 · · · 0 1

3 77 77 77 5

2 66 64

ˆ y0(k) ˆ

y0(k + 1) ...

ˆ

y0(k + p 1) 3 77 75 +

2 66 64

S1 S2 ... Sp

3 77

75 u(k)

n n n

(14)

Why?

To achieve good control performance

• Y˜(k+1) should be close to the true open-loop output

• This requires that n, the number of coefficient matrices in S* is chosen that S

n

= S

n+1

(i.e., plant should be stable), otherwise MY

0

will be in error.

• It also requires the feedback term stays approximately constant (Step

disturbance).

(15)

1. Prediction

Stable, MIMO

(16)

2-by-2 System

ˆ

y1(k + 1) =

nX1

i=1

S11,i u1(k i + 1) + S11,nu1(k n + 1)

+

nX1

i=1

S12,i u2(k i + 1) + S12,nu2(k n + 1)

ˆ

y2(k + 1) =

nX1

i=1

S21,i u1(k i + 1) + S21,nu1(k n + 1)

+

nX1

i=1

S22,i u2(k i + 1) + S22,nu2(k n + 1)

(17)

Vector Notation

y = 2 66 64

y1

y2

... ym

3 77

75 u = 2 66 64

u1

u2

... ur

3 77

75 Ip = 2 64

I ... I

3 75 pny-by-ny

Y(k˜ + 1) = S U(k) + ˆY0(k + 1) + Ip [y(k) y(k)]ˆ

Y(k˜ + 1) = 2 66 64

˜

y(k + 1)

˜

y(k + 2) ... y(k˜ +p)

3 77

75 U(k) =

2 66 64

u(k) u(k + 1)

...

u(k + m 1) 3 77 75 Yˆ0(k + 1) =

2 66 64

yˆ0(k + 1) yˆ0(k + 2)

... ˆ

y0(k +p) 3 77 75

Use up to p only out of n

S = 2 66 66 66 66 66 64

S1 0 · · · 0

S2 S1 0 ...

... ... . .. 0

Sm Sm 1 · · · S1

Sm+1 Sm · · · S2

... ... . .. ...

Sp Sp 1 · · · Sp m+1

3 77 77 77 77 77 75

Si = 2 66 64

S11,i S12,i · · · S1r,i

S21,i · · · · · · S2r,i

... ... ... ...

Sm1,i · · · · · · Smr,i

3 77 75

17

(18)

Recursive Update of Unforced Response

Y ˆ

n0

(k + 1) = M Y ˆ

n0

(k) + S

u(k)

or

2 66 64

ˆ

y0(k + 1) ˆ

y0(k + 2) ... ˆ

y0(k +p) 3 77 75 =

2 66 66 66 4

0 Im 0 · · · 0

0 0 Im . .. 0 ... ... ... . .. 0

0 0 · · · 0 Im

0 0 · · · 0 Im

3 77 77 77 5

2 66 64

ˆ y0(k) ˆ

y0(k + 1) ... ˆ

y0(k + p 1) 3 77 75 +

2 66 64

S1 S2 ... Sp

3 77

75 u(k) n

n n

(19)

2. Control Calculations

Objective functions

At time k, minimize the predicted deviation of the output from the setpoint with some penalty on the input movement size measured in terms of the quadratic norm.

minU(k)

( p X

i=1

(yr(k + i) y(k˜ + i))T Q(yr(k + i) y(k˜ + i))

+

mX1

`=0

uT(k + `)R u(k + `) )

Q, R: weighting matrices (diagonal)

(20)

Constraints

ymax target

Future Past

umax future input

t+1 t+m-1 t+p

t input

measurements

Horizon

projected output

Input magnitude

umin  u(k + `)  umax

Input rate

| u(k + `)|  umax

Output magnitude

ymin  y(k˜ + i)  ymin

(21)

Solve Quadratic Program

A U(k)  b min

U(k)

⇢ 1

2 U

T

(k) H U(k) + f

T

U(k)

H f

A b

U(k)

: Hessian matrix : gradient vector : constraint matrix : constraint vector

: decision variable

We need to convert the MPC objective and constraints to the standard QP form.

(22)

Unconstrained QP

min

U(k)

⇢ 1

2 U

T

(k) H U(k) + f

T

U(k)

Take the gradient w.r.t. the input:

H U(k) + f = 0 U(k) = H 1f

(23)

Objective Function in Quadratic Form

minU(k)

( p X

i=1

(yr(k + i) y(k˜ + i))T Q(yr(k + i) y(k˜ + i)) +

mX1

`=0

uT(k + `)R u(k + `) )

2 66 64

yr(k + 1) y(k˜ + 1) yr(k + 2) y(k˜ + 2)

...

yr(k + p) y(k˜ + p) 3 77 75

T 2 66 64

Q Q

. ..

Q 3 77 75

2 66 64

yr(k + 1) y(k˜ + 1) yr(k + 2) y(k˜ + 2)

...

yr(k + p) y(k˜ + p) 3 77 75

+ 2 66 64

u(k) u(k + 1)

...

u(k + m 1) 3 77 75

T 2 66 64

R R

. ..

R 3 77 75

2 66 64

u(k) u(k + 1)

...

u(k + m 1) 3 77 75

⇣Yr(k + 1) Y(k˜ + 1)⌘T

Q¯ ⇣

Yr(k + 1) Y(k˜ + 1)⌘

+ UT(k) ¯R U(k)

(24)

Not Done Yet!

⇣Yr(k + 1) Y(k˜ + 1)⌘T

Q¯ ⇣

Yr(k + 1) Y(k˜ + 1)⌘

+ UT(k) ¯R U(k)

Y(k˜ + 1) = S U(k) + ˆY0(k + 1) + Ip[y(k) y(k)]ˆ This yields

"(k + 1) = Yr(k + 1) Yˆ 0(k + 1) Ip[y(k) y(k)]ˆ

where

is a known term.

"T(k + 1) ¯Q"(k + 1) 2"T(k + 1) ¯QS U(k) + UT(k) STQS¯ + ¯R U(k)

Hessian (a constant matrix): H = STQS¯ + ¯R

Gradient vector (must be updated at each time):

f

T

= "

T

(k + 1) ¯ QS

(25)

Unconstrained Solution with a Gain Form

MPC toolbox in Matlab uses a gain form for the unconstrained solution:

u(k ) = ⇥

I 0 · · · 0 ⇤

U(k )

= K

MPC

⇥ "(k + 1)

, where U(k) = H

1

f and K

MPC

is a constant gain matrix

(26)

Constraints in Linear Inequality Form

u

min

 u(k + `)  u

max

| u(k + `) |  u

max

y

min

 y(k ˜ + i)  y

min

A U(k )  b

i = 1, · · · , p

` = 0, · · · , m 1

(27)

Input Magnitude Constraint

u

min

 u(k + `)  u

max

, ` = 0, · · · , m 1

u(k 1)

X`

i=0

u(k + i) umin

u(k 1) + X`

i=0

u(k + i) umax

2 66 66 66 66 66 66 66 4

2 66 66 4

I 0 · · · 0

I I 0 ... ... ... . .. 0

I I · · · I

3 77 77 5 2

66 66 4

I 0 · · · 0

I I 0 ... ... ... . .. 0

I I · · · I

3 77 77 5

3 77 77 77 77 77 77 77 5

2 66 64

u(k) u(k + 1)

...

u(k +m 1) 3 77 75

2 66 66 66 66 66 66 4

2 66 64

umin u(k 1) umin u(k 1)

...

umin u(k 1) 3 77 75

2 66 64

umax u(k 1) umax u(k 1)

...

umax u(k 1) 3 77 75

3 77 77 77 77 77 77 5

I L

27

(28)

Input Rate Constraints

| u(k + `) |  u

max

` = 0, · · · , m 1

u

max

 u(k + `)  u

max

u(k + `)  u

max

u(k + `)  u

max

2 66 66 66 66 66 66 66 4

2 66 66 4

I 0 · · · 0

0 I 0 ... ... ... . .. 0

0 0 · · · I

3 77 77 5 2

66 66 4

I 0 · · · 0

0 I 0 ... ... ... . .. 0

0 0 · · · I

3 77 77 5

3 77 77 77 77 77 77 77 5

2 66 64

u(k) u(k + 1)

...

u(k +m 1) 3 77 75

2 66 66 66 66 66 66 4

2 66 64

umax umax

... umax

3 77 75

2 66 64

umax umax

... umax

3 77 75

3 77 77 77 77 77 77 5

I

(29)

Output Magnitude Constraints

y

min

 y(k ˜ + i)  y

max

, i = 1, · · · , p

y(k ˜ + i)  y

max

˜

y(k + i)  y

min

S U(k) + ˆY0(k + 1) + Ip(y(k) y(kˆ ))

S U(k) Yˆ0(k + 1) Ip(y(k) y(kˆ ))

Ymax

Ymin Ymax = 2 66 64

ymax ymax

... ymax

3 77

75 Ymin = 2 66 64

ymin ymin

... ymin

3 77 75

 S

S U(k) 

 Ymax0(k + 1) Ip (y(k) y(k))ˆ Ymin + ˆY0(k + 1) + Ip (y(k) y(k))ˆ

(30)

In Summary

2 66 66 66 4

IL IL

I I

S S

3 77 77 77 5

U(k) 2 66 66 66 66 66 66 66 66 66 66 66 66 66 4

2 64

umin u(k 1) ...

umin u(k 1) 3 75

2 64

umax u(k 1) ...

umax u(k 1) 3 75

2 64

umax ... umax

3 75

2 64

umax ... umax

3 75

Ymax Yˆ0(k + 1) Ip(y(k) y(k))ˆ Ymin + ˆY0(k + 1) +Ip(y(k) y(k))ˆ

3 77 77 77 77 77 77 77 77 77 77 77 77 77 5

A U(k)  b

2 66 66 66 4

IL IL I I S S

3 77 77 77 5

(31)

Solving QP

• Quadratic program: minimization of quadratic function subject to linear inequality constraints.

• QPs are convex and therefore fundamentally tractable.

• Off-the-shelf solvers (e.g., QPSOL, QUADPROG) are

available but further customization is desirable (to exploit the structure in the Hessian and constraint matrices)

• Complexity of a QP is a complex function of the dimension/

structure of Hessian, as well as the number of constraints.

Active Set Method

Interior Point Method

(32)

Real-Time Implementation

1. Initialization: Initialize the memory vector and the reference vector and the reference vector . Set k = 0.

2. Memory update:

3. Reference vector update

4. Measurement intake: Take in new measurement y(k) and ▵d(k) 5. Calculation of the gradient vector and constraint vector

6. Solve QP

7. Implementation if input

8. Go back to Step 2 after setting and the reference vector Y(0)ˆ

0(k + 1) = MYˆ0(k) + S u(k)

u(k) = u(k 1) + u(k)

참조

관련 문서

The flexible loop of PhGBE contains Tyr236 residue that are invariant among other GH57 GBEs at its tip region is close to the catalytic residues Glu185 and

In the Majority Voting process, each MN proposes a hash value for its representative game client, and the MN that proposes the lowest output hash value is chosen as

Output Characteristics of the measured displacement applied by 1 st order Active PI loop filter and 2 nd loop filter when initial frequency error is applied (25Hz: XR2212

And it is cleared too that object and noise separate to computed coefficient using expression(13)~(20). Table.1 shows presence of diffusion coefficient and image

We characterize the Boolean linear operators that preserve rank and perimeter of Boolean rank-1 matrices.. Introduction

The share of manufacturing output that is exported in the model grows much faster than total trade, growing by 319 percent between 1967 and 2002... growth is very close to the

This means that reconstructed RHIs of model output (as overlaid on the radar data) no longer have a “cone of silence” at close ranges to the radar and have a much finer vertical

In terms of robust stability, the loop-at-a-time gain/phase margins only de- pended on the scalar transfer functionsMw1z1 and Mw2z2, but that the robust stability properties of the