real-time optimization for large scale nonlinear processes -diehl

Upload: koponas

Post on 07-Apr-2018

224 views

Category:

Documents


0 download

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