real-time optimization for large scale nonlinear processes -diehl
TRANSCRIPT
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
1/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
2/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
3/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
4/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
5/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
6/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
7/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
8/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
9/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
10/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
11/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
12/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
13/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
14/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
15/201
G
G
Gs
H Hact
H
Hs.act
H
Hw.act
H
N
p
Poc(x0) x0 P(x0) x0
P(t)
t
P(t)
P(t)
Pk(xk) k xk Pk
Pk(xk) q
q0, . . . , q N1 qi i s s0, . . . , sN si si = (s
xi , s
zi )
sxi szi
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
16/201
T T(x0) Poc(x0) t
t
P(t)
= t/T
u
uS uf(x)
uf(x) ufT(x) T
u(t; x0) Poc(x0) w
w = (q, s)
x
xcl x0 xS x(t; x0) Poc(x0) y
y = (w,,)
y
= y0 y
yk
Pk
z
zcl z(t; x0) Poc(x0)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
17/201
t0
[t0, t0 + T]
t0 + [t0 + , t0 + T + ]
+
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
18/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
19/201
+
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
20/201
+
+
k
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
21/201
k
k
k
k
k
k
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
22/201
x0
x0
+
+
+
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
23/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
24/201
+
+
+
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
25/201
B(x(t), z(t), u(t), p , t) x(t) = f(x(t), z(t), u(t), p , t)0 = g(x(t), z(t), u(t), p , t).
x Rnx z Rnz
u Rnu p Rnp
gz
() B()
[t0, tf]
t0 tftft0
L(x(t), z(t), u(t), p , t) dt + E(x(tf), z(tf), p , tf),
L
E
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
26/201
l(x(t), z(t), u(t), p , t)
Rnl
lr(p,t) Rnl t [t0, tf]
Q
tft0
Q 12 (l(x(t), z(t), u(t), p , t) lr(t, p))22 dt
l(x(t), z(t), u(t), p , t)
Q = I lr(p,t) = 0, t [t0, tf]
e(x(tf), z(tf), p , tf) Rne tf
t0
l(x(t), z(t), u(t), p , t)22 dt + e(x(tf), z(tf), p , tf)22.
h(x(t), z(t), u(t), p , t) 0, t [t0, tf].
re(x(tf), z(tf), p , tf) = 0
ri
(x(tf), z(tf), p , tf) 0
x(t0) = x0.
l22 :=
nl
i=1 l2i
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
27/201
p
t0
p = p
t0 = t0
t0 p
p
t
x :=
xp
t
x0 :=
x0p
t0
,
B() x = f()
B() :=B() 0 00 Inp 0
0 0 1
,
f() :=f()0
1
,
t(t)
t
p
t0 = 0 T
tf
re(x(T)) := t(T) tf = 0.
T
x0
tf = t(T) = t(0) + T = t0 + T T = tf t0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
28/201
Poc(x0) : minu(), x(),
z(), (T)
T0
L(x(t), z(t), u(t)) dt + E(x(T), z(T))
B(x(t), z(t), u(t)) x(t) f(x(t), z(t), u(t) ) = 0, t [0, T],
g(x(t), z(t), u(t) ) = 0, t [0, T],
x(0)
x0 = 0,
re(x(T), z(T) ) = 0,
ri(x(T), z(T)) 0, h(x(t), z(t), u(t)) 0, t [0, T].
T
x0
x(t; x0) z(t; x0) u
(t; x0) t [0, T(x0)]
x0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
29/201
0
cA0 V
cA cB cC cD
Ak1 B k2 C
2Ak3 D.
ki
ki() = ki0 exp
Ei/oC + 273.15
, i = 1, 2, 3.
K
QK C D
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
30/201
cA =V
VR(cA0 cA) k1()cA k3()c2A
cB = VVR
cB +k1()cA k2()cB
=V
VR(0 ) + kwAR
CpVR(K )
1
Cpk1()cAH1 + k2()cBH2 + k3()c2AH3
K =1
mKCPK
QK + kwAR( K)
.
CPK Cp
H1 H2 H3
ki0 Ei i = 1, 2, 3
VR AR kW mK x
u
x =
cA
cB
K
u =
VVR
QK
x = f(x, u).
=cB |ScA0
0
xS =
2.1402 moll
1.0903 moll114.19 C112.91 C
uS =
14.19 h1
1113.5 kJh
.
xS, uS
f(xS, uS) = 0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
31/201
k10 1012h1 kglk20
1012h1 Cp
kJ
kgKk30 109h1 kw kJhm2KE1 AR m
2
E2 VR lE3 mK kgH1
kJmol
CPK kJ
kgK
H2 kJmol
cA0 mol
l
H3 kJmol
0 C
x0 Poc(x0)
xS
L(x, u) := (x xS)TQ(x xS) + (u uS)TR(u uS)
Q :=
0.2 mol2 l2 0 0 00 1.0 mol2 l2 0 00 0 0.5 C2 00 0 0 0.2 C2
R :=
0.5h2 0
0 5.0 107 kJ2 h2
.
uLB u(t) uUB
uLB :=
3.0 h1
9000 kJh
uUB :=
35.0 h1
0 kJh
,
h(x(t), u(t)) :=
u(t) uLBuUB u(t)
0.
Poc(x0)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
32/201
0 200 400 600 800 1000 1200 1400 1600 1800 2000
1
2
3
x1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0.5
1
1.5
x2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x3
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x4
0 200 400 600 800 1000 1200 1400 1600 1800 200010
15
20
25
u1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
2000
1000
0
u2
time [s]
x(t; x0) u(t; x0)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
33/201
minu(),x()
T0
L (x(t), u(t)) dt
x(t) = f(x(t), u(t)) , t [0, T],x(t0) = x0,
h(x(t), u(t)) 0, t [0, T].
T = 2000
T =
x(t; x0) u(t; x0)
x0 :=
1.0 moll
0.5 moll
100 C100 C
x0 Rnx
Poc(x0) u(t; x0)
x(t; x0) z(t; x0)
t [0, T(x0)] T
T
tf t
x
x0 x(; x0)
z(; x0) u(; x0) Poc(x0) t1 [0, T(x0)]
x1 := x
(t1; x0)
x
(; x0)
Poc(x1) x(; x1) z(; x1) u(; x1) [0, T(x1)] Poc(x0)
T(x1) = T(x0) t1
Poc(x1)
Poc(x0) t1
x(t; x1) = x(t1 + t; x0)
z(t; x1) = z(t1 + t; x0)
u(t; x1) = u(t1 + t; x0)
t [0, T(x1)].
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
34/201
t = 0
t1 [0, T(x0)]
u(; x0)
u(t1; x0) = u(0; x(t1; x0)), t1 [0, T(x0)].
uf
uf(x0) := u(0; x0).
B() xcl(t) = f(xcl(t), zcl(t), uf(xcl(t)))0 = g(xcl(t), zcl(t), u
f(xcl(t))).
nx
uf(x0)
uf(xcl(t))
x(; x0) z(; x0) u(; x0) Poc(x0)
x(t) x(t; x0) x(t)
uf(xcl(t)) = u(0; xcl(t)), t [0, T(x0)],
ulnfc(xcl(t)) := u(t; x0) + K(t)(xcl(t) x(t; x0)),
K(t) :=uf
x(x(t; x0))
t [0, T(x0)] u(t; x0) uf(x(t; x0)) = u
(0; x(t; x0))
K
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
35/201
x(; x0) z(; x0) u(; x0)
K
uf(x)
ulnfc(x)
x := xS + (x0 xS), xS x0
uf(x) := u(0; x)
T =
x {0.20, 0.19, . . . , 1.19, 1.20} ulnfc(x) := uS+K(0)(xxS)
uf() xS
T
T
T =
x(; x0) z(; x0)
u(; x0)
uf(x0) := u(0; x0).
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
36/201
0 0.2 0.4 0.6 0.8 1
15
20
25
u1
0 0.2 0.4 0.6 0.8 14000
2000
0
2000
4000
u2
x := xS+ (x0 xS)
xS = 0) x0 = 1 t = 0
0
L(x(t), z(t), u(t)) dt
L(x, z, u) > 0
(x,z,u) = (xS, zS, uS) L(xS, zS, uS) = 0
V(x0) :=
0
L(x(t; x0), z(t; x0), u
(t; x0)) dt,
V() C1
u(; x0) C0 x0 V() Rnx
V(xS) = 0 V(x0) > 0, x0 = xS
d
dtV(xcl(t)) < 0, xcl(t) = xS,
xcl(t) t [0, ) xS
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
37/201
xcl() x0 x(; x0)
d
dtV(x
(t; x0)) < 0, x(t; x0) = xS.
V(x(t; x0)) = V(x0)
t0
L(x(; x0), z(; x0), u
(; x0)) d,
t
d
dt
V(x(t; x0)) =
L(x(t; x0), z
(t; x0), u
(t; x0)) < 0,
x(t; x0)
= xS.
T
T
xT(; x0)
zT(; x0) uT(; x0)
x(; x0) z(; x0) u(; x0) [0, T]
ufT(x0) := uT(0; x0)
uf(x)
ufT(x) +
ufT(x0)
E(x(T), z(T))
VT(x0) :=
T0
L(xT(t; x0), zT(t; x0), u
T(t; x0)) dt + E(x
T(T; x0))
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
38/201
T xS
VT(x) VT(x), 0, T, x T.
VT(x0) =
0
L(xT(t; x0), zT(t; x0), u
T(t; x0)) dt + VT(x
T(; x0))
x0 = xT(0; x0)
VT(xT(; x0)) VT(xT(0; x0)) VT(xT(; x0)) VT(xT(0; x0))=
0L(xT(t; x0), z
T(t; x0), u
T(t; x0)) dt.
ddt
VT(xT(0; x0)) =
VTx
(xT(0; x0)) xT(0; x0)
L(xT(0; x0), zT(0; x0), uT(0; x0)) < 0, x0 = xS.
x0 := xcl(t) t
t
xcl(t) = x0 = xT(0; x0)
ufT(xcl(t)) := uT(0; x0)
zcl(t) = zT(0; x0)
xcl(t) = xT(0; x0).
d
dtVT(xcl(t)) =
VTx
(xcl(t)) xcl(t) < 0, xcl(t) = xS.
re(x(T)) := x(T) xS,
xS E(x(T))
xT(t; x0) zT(t; x0) u
T(t; x0) Poc,T(x0)
[0, T]
Poc,T(x0)
[0, T]
t [T, T] xT(t; x0) := xS zT(t; x0) := zS
uT(t; x0) := uS
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
39/201
Poc,T(x0)
Poc,T(x0)
x0 xT(t)
uT(t)
xS, uS T
T
Poc,T(x0)
Poc,T(x0)
P Rnxnx
E(x(T)) := x(T) xS2P := P12 (x(T) xS)22
ri(x(T)) := x(T) xS2P 0,
> 0
x(T)
:= {x Rnx|xxS2P }
P
u(x) = uS + K (x xS) P
h(x, z, uS + K (x xS)) 0 {(x, z) Rnx Rnz |x , g(x, z, uS + K (x xS)) = 0}
E(x(T)) :=
T
L(x(t; x(T)), z(t; x(T)), u(t; x(T))) dt
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
40/201
x(t; x(T))
z(t; x(T))
[T, )
B() x(t) = f(x(t), z(t), K(x(t))),0 = g(x(t), z(t), K(x(t))),
x(T) = x(T).
K : Rnx Rnu
ri(x(T)) 0 x(T) x(t; x(T))
z(t; x(T))
u(t; x(T)) := K(x(t; x(T)))
[0, T]
[0, T]
u(t)
t [T, T]
u(t) = K(x(t))
ri(x(T)) 0
E(x(T))
E(x(T))
K() := uS
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
41/201
urc(x)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
42/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
43/201
Poc(x0)
P(x0)
T
t : [0, 1] [0, T], t(, T) := T
[0, 1]
x
z
u
[0, 1]
[0, 1]
T
T() = 0
T
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
44/201
q0q1
q2
q3
q4
0 1 2 3 4 1
u()
s0
s1
s2s3
s4
s5
0 1 2 3 4 1
x()
N = 5
u()
[0, 1]
0 = 0 < 1 < . . . < N= 1,
u()
u() := qi [i, i+1), i = 0, 1, . . . N 1,
N
qi Rnu
u(1) := qN := qN1,
qN qN1 u(1)
z(1)
g(x(1), z(1), u(1)) = 0
[i, i+1 ]
2(N+ 1)
sx0 , sx1 , . . . , s
xN s
z0, s
z1, . . . , s
zN
nx nz
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
45/201
si := (sxi , s
zi )
N
[i, i+1]
B() xi() = T f(xi(), zi(), qi) 0 = g(xi(), zi(), qi) exp
i
i+1 i
g(sxi , s
zi , qi)
xi(i) = sxi .
> 0
sxi , szi , qi
(sxi , szi , qi)
N
xi() zi()
[i, i+1] si qi
xi(; si, qi) zi(; si, qi)
xi() zi() L
Li(si, qi)
Li(si, qi) := i+1
i
T L(xi(), zi(), qi)) d.
sxi szi
g(sxi , szi , qi) = 0 i = 0, 1, . . . , N.
sxi+1
xi
sxi+1
= xi(
i+1; s
i, q
i), i = 0, . . . , N
1.
sx0 x0
s0 = x0.
si i = 0, . . . , N
si
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
46/201
0 . . . N N + 1
h(sxi , szi , qi) 0, i = 0, 1, . . . , N.
P(x0) : minq0, . . . , q N1,
s0, . . . , sN
N1i=0
Li(sxi , s
zi , qi) + E(s
xN, s
zN)
sxi+1 xi(i+1; sxi , szi , qi) = 0, i = 0, . . . , N 1, g(sxi , s
zi , qi) = 0, i = 0, . . . , N,
sx
0 x0 = 0, re(sxN, s
zN) = 0,
ri(sxN, szN) 0,
h(sxi , szi , qi) 0, i = 0, . . . , N.
q :=
q0
qN1
Rnq , s :=
s0
sN
Rns, w := qs
Rnw
nq := Nnu ns := (N + 1)(nx + nz) nw = nq + ns F(w) :=
N1i=0 Li(si, qi) + E(sN) G : R
nw
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
47/201
q0
q1q2
qN1
s0 s1s2
s3
sN
RnG
H : Rnw RnH
minw Rnw
F(w)
G(w) = 0,H(w) 0.
w Rnw
P(x0) x0
x0 P(x0)
P(x0)
P(x0) : minsx0
nx ,w (nwnx)F(sx0 , w)
sx0
x0 = 0,
G(sx0, w) = 0,H(sx0, w) 0.
T
T() = 0, [0, 1]
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
48/201
T
x0 T
sx0 x0 = 0 (Inx| 0)sx0 x0 = 0 x0 Rnx
sxi Rnx+1
q = (q0, q1, . . . , q N1) s = (s0, s1, . . . , sN)
s
q
sx0nx+1 q
minq Rnq , s Rns
F(q, s)
G(q, s) = 0,
G
Gs
s
Gs
Inxgsx0
gsz0
x0(1)
sx0 x0(1)
sz0Inx
xN1(N)sxN1
xN1(N)szN1
Inx
gsxN
gszN
Inx gszi
gszi
q
q
s
G
s
N =
nw = nq + ns = Nnu + (N + 1)nx = 100 2 + 101 4 = 604
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
49/201
0 10 20 30 40 50 60 70 80 90 1001
2
3
sx1
0 10 20 30 40 50 60 70 80 90 100
0.5
1
1.5
sx2
0 10 20 30 40 50 60 70 80 90 100
100
110
120
sx3
0 10 20 30 40 50 60 70 80 90 100
100
110
120
sx4
0 10 20 30 40 50 60 70 80 90 10010
15
20
25
q1
0 10 20 30 40 50 60 70 80 90 100
2000
1000
0
q2
node index i
si qi
Nnx = 400
nx = 4 ns nw ns = 604 404 = 200 = nq
P(x0) x0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
50/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
51/201
P(t) : minw Rnw
F(t, w)
G(t, w) = 0H(t, w) 0
C2
F : R Rnw R G : R Rnw RnG H : R Rnw R
nH
t
t
x0
P(x0)
w
q0, . . . , q N1, s0, . . . , sN
w(t)
P(t)
t
w(t)
t
w(t)
w(t)
P(t)
t
P(t + )
P(t)
w(t+)
O(2)
t
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
52/201
t
minw Rnw
F(w)
G(w) = 0H(w) 0
F : Rnw R G : Rnw RnG H : Rnw RnH
F F wG G
wG(w) :=Gw
(w)T
.
w Rnw G(w) = 0 H(w) 0
w
F(w) F(w)
w
w
F(w) < F(w)
w = w
w
Hj(w) H(w)
Hj(w) = 0
w
G(w) :=
G(w)Hact(w)
.
w
w
G(w)T G(w)T
RnG RnH
G
H
L
L(w,,) := F(w) TG(w) TH(w).
w
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
53/201
w Rnw
RnG
RnH
(w, , )
wL(w, , ) = 0 G(w) = 0,
H(w) 0, 0,
j Hj(w) = 0, j = 1, 2, . . . , nH.
(w, , )
j = 0 Hj(w
) > 0 Hj(w) = 0
Hact(w)
(w, , )
Hact(w) =:
Hs.act
Hw.act
(w).
minw Rnw
1
2wTAw + aTw
b + Bw = 0c + Cw 0
a Rnw b RnG c RnH A Rnw Rnw B RnG Rnw
C RnH Rnw
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
54/201
(w, , )
Aw + a
BT
CT = 0
b + Bw = 0,
c + Cw 0, 0,
j (cj + Cj,w) = 0, j = 1, 2, . . . , nH.
A BT
B 0
w
=
ab
.
B
nG A B
A Rn Rn B Rm Rn m n A B
A BT
B 0
(BT, CT)
nG+nH
w Rnw
w
RnG RnH (w, , )
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
55/201
2wL(w, , ) Ns
Gs(w) :=
GHs.act
(w),
w Ns Ns := {w Rnw |wGs(w)Tw = 0},
wT 2wL(w, , ) w > 0.
2wL(w, , ) Nw := {w Ns|wHw.act(w)Tw 0}.
(w, , )
F
G
H
P(t)
minw Rnw
F(t, w)
G(t, w) = 0H(t, w) 0
F : R Rnw R G : R Rnw RnG H : R Rnw RnH
C2
(w(t), (t), (t))
t
loc := {(t, w) R Rnw|w P(t))}.
(t, w(t))
loc
2w
L := 2Lw2
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
56/201
(w(t), (t), (t))
loc
P(t)
minw R
1
2w2
t + sinh(w) 0
w(t), (t)
w(t) = max(0, arcsinh(t)),
(t) =w(t)
cosh(w(t)).
w
t(t) =
0,
t < 0,cosh(arcsinh(t))1,
t > 0,
t(t) = cosh(w(t))1(1 tanh(w(t))) w
t(t).
w(t)
w(0)
P(t)
P(0)
(w(0), (0), (0))
Hs.act
Hw.act
(w, , s.act , w.act )
(w(0), (0), (0)) t = 0
minw nw
1
2wT 2wL w +
twL
Tw
Gt
+ wGTw = 0Hs.act
t+ (wHs.act)T w = 0.
Hw.act
t+ (wHw.act)T w 0.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
57/201
5 0 5
3
2
1
0
1
2
3
w*(t)
w(t)
w.act
> 0
v : [0, ) Rnw RnG RnH
t w(t)(t)
(t)
P(t)
t [0, )
t = 0
limt0,t>0
1
tw(t)
w(0)
(t) (0)(t) (0)
=
w
:= w
s.actw.act
0
.
(w, , s.act ,
w.act )
2wL
wGsT w = 0
(wG, wHs.act, wHw.act) w(0)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
58/201
> 0
P(t)
t (0, )
(w(t), (t), (t))
t [0, )
(w , ,
s.act
, w.act)
minw nw
1
2wT 2wL w +
twL
Tw
Gt + wGTw = 0Hs.actt
+ (wHs.act)T w = 0.
Hw.actt
+ (wHw.act)T w 0,
t (, 0] (w(t), (t), (t)) > 0
limt0,t
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
59/201
5 0 5
3
2
1
0
1
2
3
w*(t)
t
w* t
w* t
w(t)
P(t)
t = 0
w(0) = (0) = 0
minw R
1
2w2
1 + w 0,
w = 1 w.act = 1,
w(t), (t)
t 0, t > 0
minw R
1
2w2
1 + w 0,
w = 0 w.act
= 0.
w(t), (t)
t 0, t < 0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
60/201
(w, , )
minw Rnw
F(w)
G(w) = 0H(w) 0
y0 = (w0, 0, 0)
yk+1 = yk + kyk
k (0, 1]
yk =
wkkk
:= wkk k
k k
(wk, k, k)
minw k
1
2wT Ak w + wF(wk)Tw
G(wk) + wG(wk)Tw = 0
H(wk) + wH(wk)Tw 0
k
Ak k Rnw yk
y = (w, , )
k := 1 k := Rnw
Ak := 2wL(wk, k, k).
(wk, k)
2wL(wk, k)wk + wF(wk) wG(wk)k = 0,G(wk) + wG(wk)Twk = 0.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
61/201
k = k + k
w
L(wk, k) +
2
wL(wk, k) wk
wG(wk) k = 0,
G(wk) +wG(wk)T wk = 0
wL(wk, k)G(wk)
+
(w, )
wL(wk, k)G(wk)
wkk
= 0,
wL(w, )G(w)
= wF(w) wG(w)G(w)
= 0.
(w, )
w
0
w0
(w, )
w0 w
0 2wL(w0, 0) wG(w0)
wG(w0)T 0
(wk, k) 2wL(wk, k) wG(wk)wG(wk)T 0
wk+1 wk
k+1
=
wF(wk)G(wk)
(w, )
wk+1 wk+1
C
wk wk
2
C 0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
62/201
(w, , )
y = (w, , )
F(w)
wG(w)
H(w) = 0
G(w) = 0
H(w) 0 0
j H(w)j = 0, j = 1, 2, . . . , nH.
y0
y0 = y
A0
(w0, 0, 0)
A0 w0 + F(w
) wG(w
)0 H(w
)0 = 0G(w) + wG(w)Tw0 = 0
H(w) + wH(w)Tw0 00 0
0,j (H(w) + wH(w)Tw0)j = 0, j = 1, 2, . . . , nH.
(w0, 0, 0) = (0, , )
A0 wG(w)T
w
w
A0
(w, , )
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
63/201
P(t) : mint R, w Rnw
F(t, w)
t t = 0G(t, w) = 0H(t, w) 0
F : R Rnw R G : R Rnw RnG H : R Rnw RnH
C2
P(t)
t
t t = 0 t
t
w :=
tw
, :=
t
,
G(w) :=
t t
G(t, w)
,
L
P(t)
L( w, , ) := F( w) TG( w) TH(w)= F(t, w) t(t t) TG(t, w) TH(t, w)= L(t,w,,) t(t t),
L(t,w,,) = F(t, w) TG(t, w) TH(t, w)
P(t)
P()
(w(0), (0), (0))
P(0)
(w(), (), ()) P(t)
( w
(0),
(0),
(0))
P(0)
P()
> 0
(w, , )
(w(), (), ()) P(t)
1
w
=
w
= lim
t0,t>0
1
t
w(t) w(0)(t) (0)
(t) (0)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
64/201
2w L = 2wL t = 0 t
( w(0), (0), (0))
P(0)
(w(0), (0), (0))
P(0)
t (0) =t
L(0, w(0), (0), (0))
mint,w
1
2wT2wLw + t
twLTw + wFTw + F
tt +
1
2
2Lt2
t2
t = 0G + G
tt + wGTw = 0
H+ Ht
t + wHTw 0,
t = 0
w(0)
(0)
(0)
t =
G(0, w(0)) = 0
Hact(0, w(0)) = 0
wF(0, w(0)) = wG(0, w(0))(0) + wH(0, w(0))(0)
Ft
+ 122Lt2
2
minw
1
2wT2wLw +
twLTw + (wG(0) + wH (0))T w
Gt
+ wGTw = 0Hact
t + wHactTw 0
Hinact + Hinact
t + wHinactTw 0,
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
65/201
(w,,)
= (0) +
= (0) +
2wLw +
twL wG wH = 0,
G
t + wGTw = 0,
Hs.act
t + wHs.actTw 0,
Hw.act
t + wHw.actTw 0,
Hinact + H
inact
t + wHinactTw 0, ,s.act(0) + s.act 0,
w.act 0, inact 0,
((0) + )s.actj
Hs.act
t + wHs.actTw
j
= 0,
w.actj
Hw.act
t + wHw.actTw
j
= 0,
inactj
Hinact + Hinact
t + wHinactTw
j
= 0.
w
Hinact + Hinact
t + wHinactTw > 0
inactj = 0 ((0) + )s.actj > 0
Hs.act
t + wHs.actTw = 0.
w :=w
, :=
,
:=
,
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
66/201
2wLw + t wL wG wH = 0,G
t+ wGTw = 0,
Hs.act
t+ wHs.actTw = 0,
Hw.act
t+ wHw.actTw 0,
w.act 0,
w.actj
Hw.actt + wH
w.actT
wj
= 0,
inact = 0,
w
w(0)
y(t)
y(t) + y()
y(t + )
y(t + ) (y(t) + y()) = O(2)
P(t2)
P(t1)
w(t)
t1
t2
P(t)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
67/201
5 0 5
3
2
1
0
1
2
3
w* +
w
t*
+
t*=0.5
w*=0.48
w
t = 0.5, w = 0.48 = arcsin(0.5)
mint
R, w
R
1
2w2
t t = 0
t + sinh(w)
0
t = t
w = max(0, arcsin(t)
= w/ cosh(w)
P(t)
P(t + )
mint R, w R
1
2wT (1 tanh(w)w w + w w
t = 0
t + sinh(w) t + cosh(w) w 0,
t = ,
w = max( w1tanh(w)w
, tsinh(w)+
cosh(w)),
= w+(1tanh(w)w)w
cosh(w)
t, w
t = 0, w = 0
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
68/201
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
69/201
t
x0(t)
t
x0(t) u(0; x0(t)) t
P(x0(t))
. . . , ti, ti+1, . . .
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
70/201
i = ti+1 ti
P(x0(ti))
x0(ti) ti ti+1
i
x0(ti+1) ti
P(x0(ti+1)) [ti, ti+1] ti+1
P(x0(ti+1))
[ti, ti+1]
+
i
t0 = 0
x0
N = 100
= 100
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
71/201
0 200 400 600 800 1000 1200 1400 1600 1800 20001
2
3
x1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0.5
1
1.5
x2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x3
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x4
0 200 400 600 800 1000 1200 1400 1600 1800 200010
15
20
25
u1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
2000
1000
0
u2
time [s]
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
72/201
i
x0
i
i i
P(x0) x0 s
x0 s
x0 x0 = 0
min
sx
0
nx
,w
(nwnx)F(sx0 , w)
sx0 x0 = 0,G(sx0 , w) = 0,
H(sx0 , w) 0,
w = (sx0 , w) sx0
t
x0 t
y(x0) = (w(x0),
(x0), (x0))
P(x0) P(x0 + )
y(x0 + )
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
73/201
0 0.2 0.4 0.6 0.8 1
15
20
25
q1 0
0 0.2 0.4 0.6 0.8 14000
2000
0
2000
4000
q2 0
initializationfirst iterate
0 0.2 0.4 0.6 0.8 1
15
20
25
q1 0
0 0.2 0.4 0.6 0.8 14000
2000
0
2000
4000
q2 0
first iterate=initialization
second iterate
q10 q20
= 1
x0
P(x)
x := xS + (x0 xS),
xS x0
P(xS) = 0 nw
q0
q0
= 1
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
74/201
x(t)
z(t)
u(t)
t [ti, tf] x0(ti) [ti+1, tf] =[ti + i, tf] x0(ti+1) = x
(ti+1)
T(i+1
i) i = ti+1
ti
N
P(x0(t0)) [t0, t0 +T] w = (q0, . . . , q N1, s0, . . . , sN) tk = t0 +
ki=1 i = t0 + T k
Nk
xk := x0(tk) Pk(xk)
wk k wk = (qk, . . . , q N1, sk, . . . , sN)
Pk(xk) k = 0, . . . , N 1
Pk(xk) : minqk, . . . , q N1,
sk, . . . , sN
N1i=k
Li(sxi , s
zi , qi) + E(s
xN, s
zN)
sxi+1 xi(i+1; sxi , szi , qi) = 0, i = k, . . . , N 1, g(sxi , s
zi , qi) = 0, i = k, . . . , N ,
sxk xk = 0, re(sxN, s
zN) = 0,
ri(sxN, szN) 0,
h(sxi , szi , qi) 0, i = k, . . . , N .
P0(x0) P(x0)
yk = (wk,
k,
k) Pk(xk )
xk+1 xk+1 = (sxk+1)
k
yk+1
Pk+1(xk+1) xk+1 +
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
75/201
Sk
qk sk yk = (wk, k, k) Pk() Pk+1() Sk
yk+1 = Skyk.
y00 = (w00,
00,
00) P0()
x0 k = 0, . . . , N 1
tk xk
ykk Pk(xk) y
k+1k
(qk)k+1k
yk+1k
yk+1k Pk+1()
yk+1k+1 := Skyk+1k .
Pk+1() xk+1 y
k+1k+1
k
N = 100
k = 20 k = 0, . . . , N
1
y00 P(xS)
u1
u1
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
76/201
0 200 400 600 800 1000 1200 1400 1600 1800 20001
2
3
x1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0.5
1
1.5
x2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x3
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x4
0 200 400 600 800 1000 1200 1400 1600 1800 200010
15
20
25
u1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
2000
1000
0
u2
time [s]
y00
P0(x
0)
x1, . . . , xN
k < N
y00 Pk() y0k Pk(xk)
y00 y0k
Pk()
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
77/201
uk [tk, tk+1] uk = uk Kk(xk xk ) uk Kk
xkxk
y00
y00 = (w00,
00,
00) y
0k =
SkSk1 . . . S 1y00 Pk(xk)
Pk() xk
k = 0, . . . , N 1
tk xk
Pk(xk) y1k
(qk)1k
y1k
k
y1k
yk Pk(xk ) y1k yk = O(xk xk2)
xk xk
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
78/201
0 200 400 600 800 1000 1200 1400 1600 1800 20001
2
3
x1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0.5
1
1.5
x2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x3
0 200 400 600 800 1000 1200 1400 1600 1800 2000
100
110
120
x4
0 200 400 600 800 1000 1200 1400 1600 1800 200010
15
20
25
u1
0 200 400 600 800 1000 1200 1400 1600 1800 2000
2000
1000
0
u2
time [s]
sxi
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
79/201
Pk(xk)
(Inx|0)sxk xk = 0.
Pk(xk)
Pk+1(xk+1) xk+1 (Inx|0)sxk+1
P0(x0), P1(x1), . . . , P N1(xN1)
P() = P0() P(x0), P(x1), . . . , P (xN1)
xk
P()
w
q0, . . . , q N1 s0, . . . , sN
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
80/201
P(xk+1) yk+1k = (wk+1k , k+1k , k+1k )
P(xk)
yk+1k+1
wk+1k
wk+1k = (q0, q1, . . . , q N2, qN1; s0, s1, . . . , sN2, sN1, sN)
wk+1
k := (q1, q2, . . . , q N1, qnew
N1; s1, s2, . . . , sN1, snew
N1, snew
N ),
qnewN1 snewN1 s
newN
qnewN1 := qN1, s
newN1 := sN1, s
newN := sN,
N1
sN
qN1
snew
N (sN, qN1)
qnewN1 := qN1, snewN1 := sN, s
newN := s
newN (s
newN1, q
newN1).
N1
N0 = g(sN, qN) = g(sN, qN1) qN1 qN
snewN
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
81/201
sN
qN1 N1
xk
yk+1k+1 P(xk+1) yk+1k P(xk)
xk+1 = sx1
yk+1k
yk+1k+1 := yk+1k
yk+1k P(xk) P(xk+1)
xk+1 = xk
yk+2k+1
yk+2k+1
yk+1
=
O(xk+1 xk2)
P(xk+1)
P(xk + (xk+1 xk)) = 0
= 1
xk, xk+1
k, k + 1, . . .
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
82/201
x0
x0
tk x0(tk) P(x0(tk))
tk+1 tk+1 tk
u(x0(t))
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
83/201
tk
x0(tk)
x0(tk)
u(x0(t))
x0(t)
tk
2000
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
84/201
0 200 400 600 800 1000 1200 1400 1600 1800 20000
0.5
1
time [s]
CPUtim
e[s]
overall CPU time per iteration
feedback response time
N = 100
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
85/201
N
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
86/201
w
q Rnq s Rns
P(x0) : minq,s
F(q, s)
G(q, s) = 0
F : D Rnq Rns R G : D Rnq Rns Rns
G
Gs
(q, s) D
q
s
L : D Rns RL(q, s , ) := F(q, s) TG(q, s)
(q,s,)L(q,s,) = qF(q, s) qG(q, s)sF(q, s) sG(q, s)
G(q, s)
= 0.
y Rn n := nq + ns + ns
R : D D Rns Rn
y :=
qs
R(y) :=
qF(q, s) qG(q, s)sF(q, s) sG(q, s)
G(q, s)
,
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
87/201
R(y) = 0
y0
y1, y2, . . .
yk+1 = yk + yk,
yk
R(yk) +R
y(yk)yk = 0,
qLsLG(q, s)
+ 2L
q2
2L
qs
T G
q
T
2Lqs
2Ls2
Gs
T
Gq
Gs
0
qk
sk
k = 0.
2L(q,s)2
A(y) = Aqq ATqs
Aqs Ass
,
R
J(y) :=
Aqq A
Tqs
Gq
T
Aqs AssGs
T
Gq
Gs
0
.
R(yk
) + J(yk
)yk
= 0.
F
F(q, s) =1
2l(q, s)22
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
88/201
l : D Rnl nl 1
A
A(q, s) :=
l(q, s)
T
l(q, s)
.
2L(q,s)2
A
2L(q,s)2
2L(q, s)2
l
(q, s)
Tl
(q, s)
=
nli=1
li2li
(q, s)2+
nsi=1
i2Gi
(q, s)2.
y = (q, s, )
sF sG = ls
Tl(q, s) sG = 0,
= sG1 ls
T
l(q, s) = O (l(q, s)) ,
2L(q, s)2
A(q, s))
= O (l(q, s)) .
l(q, s)
A(q, s)
l(q, s)
Rnl
H
, H H
F(q, s) =1
2l(q, s), l(q, s)H,
A(q, s)ij := Re
l
(q, s)i,
l
(q, s)j
H
,
i, j
(q, s)
A(q, s)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
89/201
(yk) k = 0, 1, . . . Rn
yk+1 = yk + yk = yk J(yk)1R(yk),
R(y) = 0.
R : D Rn Rn
J : D Rn R(nn)
D J(y1)1 J(y2) Ry (y2)
< 1, y1, y2 D J(y1)1 (J(y2) J(y3)) y2 y3, y1, y2, y3 D.
y0 := J(y0)1R(y0)
y0
0 := +
2y0 < 1
D0 :=
y Rn| y y0 y
01 0
D.
(yk)
D0 y D0 R(y) = 0
yk
(yk)
yk+1
=
J(yk+1)1
R(yk+1)
= J(yk+1)1 (R(yk+1) R(yk) J(yk) yk)= J(yk+1)1 1
0(Ry
(yk + tyk) J(yk)) yk dt= J(yk+1)1 1
0(Ry
(yk + tyk) J(yk + tyk))yk dt+J(yk+1)1 1
0(J(yk + tyk) J(yk))yk dt
10
J(yk+1)1 (Ry
(yk + tyk) J(yk + tyk))yk dt+1
0J(yk+1)1 (J(yk + tyk) J(yk))yk dt
yk + 10
tyk2 dt=
+
2yk
yk =: kyk.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
90/201
k 1 yk+1 yk k+1 k 1
yk+1 0yk, k 0
yk+m yk 11 0y
k k0
1 0 y0, k, m 0.
ym y0 11 0y
0, m 0.
(yk)
D0 y R J1
0 = limk
yk = limk
J(yk)1R(yk) = J(y)1R(y)
R(y) = 0
J(y)
J(y)
J(y) =
Aqq A
Tqs
Gq
T
Aqs AssGs
T
Gq
Gs
0
Gs
Ar(y) := I GqT
Gs T
Aqq A
Tqs
Aqs Ass I
G
s1 G
q
J(y)
J(y)1 = C1(y)Ar(y)1C1(y)
T + C2(y)
C1(y) :=
I
Gs
1 Gq
Gs
TAqs Ass
Gs
1 Gq
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
91/201
C2(y) := 0 0 00 0 Gs 1
0Gs
T Gs
TAss
Gs
1 .
B
B = (Gq
|Gs
)
Ar
J(y)(C1(y)Ar(y)1C1(y)
T + C2(y)) = I
J(y)C1(y) =
Ar(y)0
0
J(y)C2(y) = I C1(y)T0
0
.
R : D Rn
Ar(y)
D
Ar(y)1 A < , y D.
C1 C2 D C1(y) C1 < , y D,
C2(y) C2 < , y D.
:= C1AC1 + C2
J(y1) J(y2) y1 y2, < , y1, y2 D,
J(y)
A(y) 2L
(q, s)2(y)
, < 1, y D.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
92/201
0 1 2 3 4 5 6 76
5
4
3
2
1
0
log10
||w
k||
index k
Newton
GaussNewton
y0 := J(y0)1R(y0)
y0
0 := +
2y0 < 1
D0 :=
y Rn| y y0 y
01 0
D.
(yk)
y = (q, s, ) D
(q, s)
w
0.1
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
93/201
q
N
T
k
k N
k=1 k = T
T = N
tk := T k tk tk1 = k
t0 = 0, tk =k
i=1
i, k = 1, . . . , N.
x0, x1, . . . , xN t0, t1, . . . , tN Pk(xk)
t0 x0
u0
t1
t1
P1(x1) x1
x(t1)
B()x(t) = f(x(t), z(t), u0), t [t0, t1],0 = g(x(t), z(t), u0), t [t0, t1],
x0(t0) = x0,
P1(x1)
sx1 = x1.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
94/201
P0(x0)
q0 u0 = q
0
0+ q0
0= q1
0
sx1 x0(t1; sx0, sz0, q0) = 0,g(sx0, s
z0, q0) = 0,
sx0 x0 = 0,q0 u0 = 0,
sx0 sz0 q0 s
x1 s
x1 = x1
B() x0(t) = f(x0(t), z0(t), q0), t [t0, t1],0 = g(x0(t), z0(t), q0) e
tt0t1t0 g(sx0, s
z0, q0), t [t0, t1],
x0(t0) = sx0 ,
sx0 = x0 q0 = u0 g(sx0, s
z0, q0) = 0
x0(t1; sx0 , s
z0, q0) = x(t1) = x1 s0, q0
sx1 = x1
sx0 , q0
u0
q0
sz0 g(sx0, s
z0, q0) = 0 x0(t1; sx0, sz0, q0)
x(t1)
q0, . . . , q N1
P(x0) P0(x0)
P0 := P0(x0) = P(x0)
Pk
Pk(xk)
Pk
k = 0, . . . , N
Pk : minq,s
F(q, s)
G(q, s) = 0,qi ui = 0, i = 0, . . . , k 1.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
95/201
q1
0
q11q12
q1N1
x1
s1
0s11
s12s13
s1N
t0 t1 t2 t3 tN
P1
q0
x1
q2
0
q2
1
s2
1
x2
s22 s23
s2
0
t0 t1 t2
P2
q0 q1 x2
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
96/201
q = (q0, q1, . . . , q N1)
Pk : minq,s
F(q, s)
G(q, s) = 0,
Qk1T
(q uk) = 0.
Qk1 Rnqmk mk = knu
Qk1 :=
Imk
0
,
uk Rnq
uk :=
u0
uk1
, Qk1T(quk) =
q0 u0
qk1 uk1
,
uk
PN
q
Pk
Pk
k
minq,s
F(q, s)
G(q, s) = 0
QT1 (q u) = 0
Q1 Rnqm m nq m
Q1
Q2 :=
0
I(nqm)
Rnq(nqm).
L L(q,s,,) := L(q,s,) QTQT1 (q u),
L
(q,s,,Q)L(q,s,,Q) =
qL Q1QsL
G(q, s)QT1 (q u)
= 0.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
97/201
(Q1|Q2)T Rnqnq
Q + QT1 qLQT2 qL
sL
G(q, s)QT1 (q u)
= 0
Q := QT1 qL.
Q
y Rn n = nq+ ns + ns
R(y) :=
QT1 (q u)QT2 qLsL
G(q, s)
=
QT1 (q u)000
+
0QT2
I
I
R(y)
R
y=
QT1000
+
0QT2
I
I
Ry
J(y)
J(y) :=
QT10
00
+ 0
QT2I
I
J(y)
=
QT1 0 0
QT2 Aqq QT2 A
Tqs Q
T2Gq
T
Aqs AssGs
T
Gq
Gs
0
.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
98/201
J : D Rn
J(y1)1
J(y2) Ry
(y2) < 1, y1, y2 D, J(y1)1 J(y2) J(y3) y2 y3, y1, y2, y3 D,
yk+1
+
2 yk
yk
J(y)1
J(y)
J(y)1 = Q
I
C1A1r CT1 + C2
I
QT2 AqqQ1 IAqsQ1 IG
qQ1 I
,
Q :=
Q1 Q2 I
I
,
Ar(y) := QT2 Ar(y)Q2,
C1(y) :=
QT2 II
C1(y)Q2,
C2(y) :=
QT2 I
I
C2(y)
Q2 I
I
,
Ar(y) C1(y) C2(y)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
99/201
J(y)J(y)1 = I
J(y) Q =
I
QT2 AqqQ1 QT2 AqqQ2 Q
T2 A
Tqs Q
T2Gq
T
AqsQ1 AqsQ2 AssGs
T
Gq
Q1Gq
Q2Gs
0
.
QT2 Q2 = I
QT2 AqqQ2 Q
T2 A
Tqs Q
T2Gq
T
AqsQ2 AssGs
T
G
qQ2
G
s0
1
= C1(y)A1r (y)C
T1 (y) + C2.
J(y) Q
I
C1A1r C
T1 + C2
=
I
QT2 AqqQ1 IAqsQ1 IGq
Q1 I
,
C1(y) C2(y)
C1(y) C2(y)
C1(y) C1(y) C1, y D,
C2(y) C2(y) C2, y D.
Ar(y)1
Ar(y) Ar(y) = QT2 Ar(y)Q2
Ar(y) Ar(y) Ar(y)
Ar(y) =
QT1QT2
Ar(y) (Q1|Q2) =
Ar(y)
1(y), . . . , (nqm)(y) Ar(y) Ar(y)
k(y) [1(y), nq (y)] 1(y) 1(y)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
100/201
Ar(y)1 = 11(y)
11(y)
= A1r (y) A, y D.
J(y)1 C1(y)Ar(y)1C1(y)T + C2(y) C1AC1 + C2 = , y D.
J(y2)
R
y (y2) =
0QT2
I
I
J(y2) R
y (y2)
J(y2) J(y3) =
0QT2
I
I
(J(y2) J(y3))
J1(y1)
0QT2
I
I
=
Q2 I
I
C1(y1)Ar(y1)1C1(y1)T + C2(y1)
QT2 I
I
,
J1(y1)
J(y2) R
y(y2)
=
J1(y1)
0QT2
I
I
J(y2) Ry
(y2)
=
J(y2) Ry
(y2)
< 1, y1, y2 D,
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
101/201
J1(y1) J(y2) J(y3)
= J(y2) J(y3) y2 y3, y1, y2, y3 D.
y
yk
Pk
k = 0, 1, . . .
PN+k := PN
k > 0
N
k
Pk
Pk : minq,s
F(q, s)
G(q, s) = 0
Qk1T
(q uk) = 0
Qk1 Rnqmk Qk2 Rnq(nqmk)
Qk1 := Imk0 , Qk2 := 0
I(nqmk)
mk 0 = m0 mk nq
Qk+12 = Qk2k k :=
0
I(nqmk+1)
R(nqmk)(nqmk+1).
uk
yk = (qk, sk, k)
uk := qk, k = 0, . . .
P0
m0 = 0
P0
P1, P2, . . .
y0
Pk
Rk
Rk(y) :=
Qk1T
(q uk)Qk2
TqLsL
G(q, s)
= 0.
N
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
102/201
R0(y) = 0
R(y) = 0
Jk(y)
Jk(y) =
Qk1T
000
+
0
Qk2T
I
I
J(y),
J(y)
R(y)
yk = yk+1 yk
Pk
yk
yk
:= Jk
(yk
)1
Rk
(yk
).
(yk)
y D0 =
y Rn| y y0 y0
1 0
D, 0 = +
2y0.
yk
k k = N
PN
y1, y2, . . . , yN
D0
y0
y = (q, s, )
yk+1
+
2 yk
yk
(q, s)
< 1
Jk
yk
yk+1
Rk
Rk+1
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
103/201
yk
yk+1
Pk+1
Rk+1
Qk+11T
(q uk+1) = Qk+11 T(q qk+1) = 0
yk+1 = (qk+1, sk+1, k+1)
qk+1
yk
yk := Jk+1(yk)1 Rk+1(yk)
yk := Jk(yk)1 Rk(yk)
yk
Rk(yk)+Jk(yk)yk = 0
Rk+1(yk) + Jk+1(yk)yk = 0
Rk+1(yk) + Jk+1(yk) yk
=
Qk+11T(qkqk+1)
Qk+12T
qLsL
G(q, s)
+ Qk+11
T
Qk+12
T
Aqq Qk+12
T
ATqs Qk+12
TGq
T
Aqs AssGs
T
Gq
Gs
0
qk+1
qk
sk+1skkk+1
=
0
Qk+12T
I
I
qLsL
G(q, s)
+
Aqq A
Tqs
Gq
T
Aqs AssGs
T
Gq
Gs
0
yk
=
0
Tk Qk2T
I
I
qLsL
G(q, s)
+
Aqq ATqs
Gq
T
Aqs AssGs
T
Gq
Gs 0
y
k
=
0Tk
I
I
Qk2TqLsL
G(q, s)
+
Q
k2TAqq Q
k2TATqs Q
k2TGq
T
Aqs AssGs
T
Gq
Gs
0
yk
=
0Tk
I
I
00
0
= 0.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
104/201
0 10 20 30 40 50 60 70 80 90 1001
2
3
sx1
0 10 20 30 40 50 60 70 80 90 100
0.5
1
1.5
sx2
0 10 20 30 40 50 60 70 80 90 100
100
110
120
sx3
0 10 20 30 40 50 60 70 80 90 100
100
110
120
sx4
0 10 20 30 40 50 60 70 80 90 10010
15
20
25
q1
0 10 20 30 40 50 60 70 80 90 100
2000
1000
0
q2
node index k
w
y D0
Pk0
k0 = N Rk = Rk0, k k0
0 = limk
Jk(yk)1Rk(yk) = limk
Jk0(yk)1Rk0(yk) = Jk0(y)1Rk0(y),
Rk0(y) = 0
G(q, s) = 0
w = (q, s)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
105/201
0 1 2 3 4 5 6 76
5
4
3
2
1
0
log10
||w
k||
index k
Newton
GaussNewton
P0
y0
y
y
yk Pk
k
1
y y0
yk Pk
y yk
y = (q,s,)
y0
y0
y0
y
y0 P0
y y0 20y0
1 0 , 0 = +
2y0.
(yk)
y0
y1
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
106/201
< 1
0
yk+m yk 11 0y
k k0
1 0 y0, k, m 0,
y y1 = limm
y1+m y1 01 0 y
0.
y0 P0
y y0 y y1 + y0 y1 20
1 0 y0.
y
yk k Pk
y yk 2kyk
1 k 2k+10 y0
1 0 .
y
Pk
k < N
k N yk = y
yk Pk
k < N
y
y0
y0
P0 = P(x0)
P0 : minq,s
F(q, s)
sx0 x0 = 0,G(q, s) = 0,
Rx0(y) :=
qLsL
sx0 x0G(q, s)
.
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
107/201
Ry
J
x0 y0
y
0
y0 P0(x0) x0 = x0+
y0
P0 = P0(x0)
y0 := y0
y0 ,
Rx0(y0) = Rx0(y
0) = 0 y
0
y0 = J(y0)1Rx0(y0)
= J(y0)1
Rx0(y0) +
000
= J(y0)1
000
.
J(y0
)1
y0 P0(x0)
y
y0
P0(x0)
= x0 x0
y y0 2 +
2
1
( +
2
),
y y0
1 2
22.
y
F(q, s)
-
8/6/2019 Real-Time Optimization for Large Scale Nonlinear Processes -DIEHL
108/201
R
y D0 Ry (y)
BR, y D0. y = (q, s, )
y0 = (q0, s
0,
0)
F(q, s) F(q0, s0) 1
2BRy y02.
(q0
, s0
)
(q, s)
G(q0, s0) = G(q
, s) = 0
L(q,s,) = F(q, s) TG(q, s)
L(y)L(y0) =1
0Ly
(y0 + t1(y y0)) (y y0) dt1