optimización dinámica de procesosprada/optimizaciondinamica.pdf · ft . función de costo...
TRANSCRIPT
![Page 1: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/1.jpg)
Optimización dinámica de procesos
Prof. Cesar de Prada Dpt. Ingeniería de Sistemas y
Automática Universidad de Valladolid, España
1
![Page 2: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/2.jpg)
2
Reactor
FT
FC
FC
TT AT
MPC
Comp.
Refrigerante
u1 u2
Alimentación
Temp TT
SP Temp SPComp.
FT
Función de costo económica:
(Flujo producto*concentración*precio-
– materia prima*precio –
-Flujo refrigerante*precio)*
tiempo
Optimizador Económico (RTO)
Max Beneficio
Con las mismas restricciones y el modelo estacionario del MPC
Operación óptima (económica)
![Page 3: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/3.jpg)
3
Ejemplo: Reactor químico
3 3
Row material: Product A Ti, q, cAi
Reactor
TT AT
Coolant
Products: A, B A → B
T x Tri
ART
E
AAiA ceV)cc(q
dtdcV −β−−=
conversion x c/cxccc
AiB
AAiB
=−=
)TT(UA)TT(cFdt
dTcV rrriprrrr
prrr −+−ρ=ρ
)TT(UAHVkc)TT(cqdtdTcV rAipp −−−−ρ=ρ
maxrrminr
maxmin
min
maxmin
FFFqqq1xx
TTT
≤≤≤≤≤≤
≤≤
Max J = q cB
![Page 4: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/4.jpg)
4 0)u,x(g0)u,x,x(F
dt)u,x(LJminT
0u
≤=
= ∫
Economic cost function
0)u,x(g0)u,x(f
)u,x(Jminu
≤=
0)u,x(g0)u,x,x(F
dt)SPx(JminT
0
2
u
≤=
−= ∫
Operación dinámica de procesos óptima (económica)
Proceso
Control básico
MPC
RTO
Proceso
Control basico
MPC con un objetivo económico directo
Dinámico SP
Dinámico
Estático
4
![Page 5: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/5.jpg)
Transitorio óptimo
5
Materia prima: A Ti, q, cAi
Reactor
TT AT
Refrig.
Productos: A, B A → B
T x Tri
¿Como llegar al punto de operación óptimo en mínimo tiempo respetando las restricciones?
ART
E
AAiA ceV)cc(q
dtdcV −β−−=
)TT(UA)TT(cFdt
dTcV rrriprrrr
prrr −+−ρ=ρ
)TT(UAHVkc)TT(cqdtdTcV rAipp −−+−ρ=ρ
5
![Page 6: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/6.jpg)
Parametrización de un modelo dinámico
q, Sin
V, X S, P
Modelo de producción de un producto P por microorganismos X que se alimentan de un sustrato S
6
SKS
KSSK
SV)0(VqV
P)0(PPP
S)0(SqSYX
YXS
X)0(XXXX
0
m
i
2
m
m
0
0
0insx
0
+ν
=ν++
µ=µ
==
=ν=
=+σ
+µ
−=
=σ−µ=
![Page 7: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/7.jpg)
Parametrización de un modelo dinámico
q, Sin
V, X S, P
7
tiempo
u
tiempo
y
ym(p)
Datos experimentales q = u(t)
![Page 8: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/8.jpg)
Parametrización de un modelo dinámico
q, Sin
V, X S, P
[ ]∫ −+−=νµ
T
0
2meas
2measX,K,,K,
dt)ss()PP()u(Jmin0im0m
K0 > 0, µm > 0, ….
8
SKS
KSSK
SV)0(VqV
P)0(PPP
S)0(SqSYX
YXS
X)0(XXXX
0
m
i
2
m
m
0
0
0insx
0
+ν
=ν++
µ=µ
==
=ν=
=+σ
+µ
−=
=σ−µ=
q = u(t)
![Page 9: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/9.jpg)
Control Predictivo (MPC)
[ ] [ ]∑ ∑=
−
=++∆β++−+=
2N
1Nj
1Nu
0j
22
),..1t(u),t(u)jt(u)jt(w)jt(yJmin
Sujeto al modelo dinámico del proceso Cumpliendo unas restricciones sobre las MV y CV (OP/PV)
9
![Page 10: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/10.jpg)
Maximizar la producción de P en un tiempo dado
q, Sin
V, X S, P
Path constraint
¿Como alimentar el reactor respetando restricciones y maximizando P?
10
SKS
KSSK
SV)0(VqV
P)0(PPP
S)0(SqSYX
YXS
X)0(XXXX
0
m
i
2
m
m
0
0
0insx
0
+ν
=ν++
µ=µ
==
=ν=
=+σ
+µ
−=
=σ−µ=
q = u(t)
![Page 11: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/11.jpg)
Maximizar la producción de P en un tiempo dado
XUP P X S
q q, Sin
V, X S, P
11
Solución no-trivial
![Page 12: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/12.jpg)
Optimización dinámica (DO)
0zuxg0zuxh
xxzuxfx
uxu
≤=
==
= ∫
),,(),,(
)t(),,,(dtd
dt),(L)(Jmin
00
t
tt,x),t(u
f
0f0
Muchos tipos:
Problemas de valor inicial Problemas TPBV Problemas de tiempo mínimo DAE u ODE Híbridos Coste algebraico o integral ….
DAE
Dynamic Optimization (DO)
Algunas de las restricciones son ecuaciones diferenciales
Las decisiones se toman a lo largo del tiempo
Son problemas mas intensivos en cálculo que los NLP
12
![Page 13: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/13.jpg)
Optimización dinámica
0)u,x(g0)u,x,x(F
dt)u,x(L)u(JminT
0u
≤=
= ∫
Función de coste J
Modelo DAE
Restricciones
u puede ser un conjunto de parámetros o un conjunto de variables que evolucionan a lo largo del tiempo
u
time
x
time
Dos problemas: Número infinito de variables de decisión y de restricciones
x estados
u variables de decisión
límite
13
![Page 14: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/14.jpg)
Métodos de solución
Se calculan las condiciones necesarias de optimalidad
mediante cálculo de variaciones
Problema de contorno en dos puntos
Métodos indirectos
Se aproxima la solución mediante discretización de las
variables dependientes del tiempo
Programación no-lineal NLP
Métodos Directos
0)u,x(g0)u,x,x(F
dt)u,x(L)u(JminT
0u
≤=
= ∫
x estados
u variables de decisión
14
Función de coste J
Modelo DAE
Restricciones
![Page 15: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/15.jpg)
Parametrización del vector de control (CVP)
u u1
u2
u3 u4
∆t
tiempo
u u1 u2
u3 u4
∆t
tiempo
ui = pi ui = pi t + bi
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
pi = ui , ti
t1 t2 t3
u1
u2
u3
u4 u
tiempo
15
![Page 16: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/16.jpg)
Parametrización
u u1 u2
u3 u4
∆t
time
u6 u7 u8
u u1
u2
u5
u9
u3
u4 u5
time
1. Comenzar con una parametrización sencilla
2. Refinarla incrementando los parámetros hasta identificar patrones
3. Redefinir la parametrización en base a los patrones para reducir el número de parámetros
u10
16
![Page 17: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/17.jpg)
Métodos de solución
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
Enfoque secuencial Enfoque simultaneo
Convertir el problema en uno NLP de gran tamaño mediante su discretización total
CVP mas resolver las ecuaciones DAE externamente mediante simulación
NLP Se aplica una parametrización u(p)
17
![Page 18: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/18.jpg)
Enfoque secuencial
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
El optimizador solo considera a u(p) como variables del problema
El modelo DAE se resuelve rigorosamente
Dificultades con las restricciones de camino, sistemas inestables y el cálculo de gradientes
Solución con software NLP
Optimizador NLP de J(u(p)) con respecto a p
Simulador dinámico que calcula los valores de x, z
solución del DAE, así como de J(x,u), g(x,u,z)
Valores de J(u), g(u)
Valores de p
Múltiples llamadas al simulador desde el código NLP 18
![Page 19: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/19.jpg)
Restricciones de camino
Diversas estrategias
Path Constraints
19
![Page 20: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/20.jpg)
Gradientes, ecuaciones de sensibilidad
0pu
uFs
xF
dtds
xF
ii
i =∂∂
∂∂
+∂∂
+∂∂
0)u,x,x(F =
iii
i
T
0iii
pu
ug
px
xg
dpdg
dtpu
uL
px
xL
dpdJ
∂∂
∂∂+
∂∂
∂∂=
∂∂
∂∂+
∂∂
∂∂= ∫
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
pxs∂∂= sensibilidades
Normalmente en NLP se requieren los gradientes ¿Diferencias finitas?
Pueden obtenerse integrando el sistema extendido / Sistema adjunto:
Comparten el Jacobiano del sistema original Integradores como DASPK3.0, IDAS.. dan las sensibilidades
20
![Page 21: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/21.jpg)
Software
Entornos de simulación unidos a solvers NLP Asistentes para la definición del problema y generación automática de código de optimización EcosimPro, gProms, Dymola,..
Muy importante el cálculo de sensibilidades para la calidad de la solución. Errores relativos Simulación / Optimización 21
![Page 22: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/22.jpg)
Ejemplo: Reactor químico
22 22
Row material: Product A Ti, q, cAi
Reactor
TT AT
Coolant
Products: A, B A → B
T x Tri
ART
E
AAiA ceV)cc(q
dtdcV −β−−=
conversion x c/cxccc
AiB
AAiB
=−=
)TT(UA)TT(cFdt
dTcV rrriprrrr
prrr −+−ρ=ρ
)TT(UAHVkc)TT(cqdtdTcV rAipp −−−−ρ=ρ
maxrrminr
maxmin
min
maxmin
FFFqqq1xx
TTT
≤≤≤≤≤≤
≤≤
Max J = q cB
![Page 23: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/23.jpg)
Con / sin sensibilidades
23
![Page 24: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/24.jpg)
Software: Ecosimpro
Simulation environments with optimization
![Page 25: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/25.jpg)
Multiple shooting
time
u0 u1 u2
u3 z1
z2 z3
x
t1 t2 t3
Dividir el horizonte en n intervalos [ti , ti+1] y resolver el problem DO incorporando los valores iniciales zi en cada intervalo como nuevas variables de decisión, pero…
∑ ∫−
=
+=1n
0i
t
t iii dt))z,u),t(x(LJ 1i
ixi x en el intervalo i
![Page 26: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/26.jpg)
Multiple shooting
time
u0 u1 u2
u3
z1
z2
z3
x
t1 t2 t3
…imponiendo la condición de que el estado final de una etapa debe ser igual l inicial de la siguiente para asegurar su continuidad
0z)t(x 1i1ii =− ++
![Page 27: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/27.jpg)
Multiple shooting
Ventajas: – La inicialización de x puede
estar mas cerca de la trayectoria deseada, lo que facilita la convergencia
– Las restricciones de camino pueden imponerse sobre zi
– La evolución de la etapa i es independiente de la etapa i+1
– Facilita la paralelización – Permite el uso de métodos
secuenciales con sistemas inestables
Desventajas: – Mayor complejidad
n,....,0i0z)t(x
0)t,u,z(gz)t(x
0)t,u,x,x(F
Jmin
1i1ii
iiii
iii
iiii
v
==−≤
==
++
∑ ∫−
=
+=1n
0i
t
t iii dt))z,u),t(x(LJ 1i
i
}u,z,...,u,z,...,u,z,u{v 1n1nii110 −−=
time
u0 u1u2
u3
z1
z2z3
x
t1 t2 t3
![Page 28: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/28.jpg)
28
MPC + MHE
Proceso Optimizador
DAE ecuaciones
Función objetivo, restricciones
Optimización dinámica
Simulador
Estimador de estados / MHE
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
x(0) = xp
![Page 29: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/29.jpg)
Enfoque simultaneo
29
0))p(u),tt(x,t
)t(x)tt(x(F =∆+∆
−∆+
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
0))p(u,x,x(F =
Discretizar totalmente las ecuaciones
[ ] t)p,j(u),j(x(LN
0j∆∑
=
∫T
0dt))p(u,x(L
t = 0, ∆t, 2∆t,…… Sistema de ecuaciones algebraicas
![Page 30: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/30.jpg)
Enfoque simultaneo
30
0))p(u,x(g0))p(u,x,x(F
dt))p(u,x(L)p(JminT
0p
≤=
= ∫
[ ]
0p))1,-u(N1),-g(x(N 0))p,1N(u),1N(x),N(x(F.....
0p))u(2,g(x(2), 0))p,2(u),2(x),3(x(F0p))u(1,g(x(1), 0))p,1(u),1(x),2(x(F0p))u(0,g(x(0), 0))p,0(u),0(x),1(x(F
t)p,j(u),j(x(LJminN
0jx,p
≤=−−
≤=≤=≤=
∆=∑=
El número de variables de decisión y ecuaciones se incrementa de acuerdo a la discretización.
Facilita la imposición de restricciones de camino y el cálculo de gradientes
Puede haber problemas con la discretización de las DAE
x(i) y p son variables de decisión
Solución con software NLP
![Page 31: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/31.jpg)
Discretización
31
tiempo
La integración de sistemas stiff usa métodos de paso y estructura variable para mantener el error de integración bajo cotas. El uso de métodos de paso fijo obliga a usar un gran número de intervalos, resultando en un alto número de ecuaciones y variables y no garantiza la calidad
x
Colocación ortogonal por elementos finitos ¿nº de elementos?
![Page 32: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/32.jpg)
Colocación en elementos finitos
x
tiempo
tk-1 tk tk+1 …
El horizonte temporal se divide en K intervalos o elementos (tk-1 , tk] de longitud ∆k = tk – tk-1
En cada intervalo (tk-1 , tk] la solución x se aproxima por un polinomio, que es una aproximación continua suave dentro del elemento, pero permite discontinuidades en los perfiles de la señal de control entre elementos
Hay muchos tipos de aproximaciones polinómicas que pueden ussarse
El numero K de elementos no tiene que ser grande necesariamente
Elemento k Elemento k+1
Approximación Polinomial
![Page 33: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/33.jpg)
x
tiempo
Una posibilidad es aproximar la evolución temporal de las variables mediante una combinación lineal de polinomios conocidos Pj(τ) de orden P. Normalmente se utilizan polinomios de interpolación de Lagrange
∑
∑
=
−
=
∆τ
≈
∈τ∆τ+=
τ≈
P
0j k
kjj
k1k
P
0jkjj
)(P)t(
]1,0(tt
)(P)t(
xx
xx
Colocación en elementos finitos
τ = 0 τ = 1 xkj parámetros a determinar k = 1,…,K
τ Tiempo normalizado
tk-1 tk tk+1 …
Elemento k Elemento k+1 El horizonte temporal se divide en K intervalos o elementos (tk-1 , tk] de longitud ∆k
![Page 34: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/34.jpg)
Polinomios de interpolación de Lagrange
kjkj1kkj
P
ji,0i ij
ij
x)t(x)t(x
)(P
=∆τ+=
τ−ττ−τ=τ
−
≠=∏
x
time τ = 0 τ1 … τj
xk1 xk2 xkj
Se seleccionan P+1 puntos de interpolation τ0 = 0, τ1,.., τP
τ = 1
Los parámetros xkj tienen un significado claro usando los polinomios de Lagrange
τi < τi+1
tk-1 tk tk+1 …
∑
∑
=
−
=
∆τ
≈
∈τ∆τ+=
τ≈
P
0j k
kjj
k1k
P
0jkjj
)(P)t(
]1,0(tt
)(P)t(
xx
xx
Elemento k
Elemento k+1
xkP
![Page 35: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/35.jpg)
Polinomios de interpolación de Lagrange
35
=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
τ−ττ−τ
=τ ∏≠=
23
2
13
1
03
03
32
3
12
1
02
02
31
3
21
2
01
01
30
3
20
2
10
10
P
ji,0i ij
ij
P
P
P
P
)(P ∑=
τ≈P
0jkjj )(P)t( xx
Si t coincide con τj , p.e. τ2, todos los Pj son cero excepto P2 que vale 1, luego:
kjkj1kkj x)t(x)t(x =∆τ+= −
Los coeficientes xkj coinciden con los valores de la variable x en el punto τj del elemento k
![Page 36: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/36.jpg)
Colocación en elementos finitos
0))p(u,,)(P
(F
0))p(u,x,x(F
ki
P
0j k
kjij =∆τ
=
∑=
xx
Las ecuaciones DAE deben cumplirse en los puntos de colocación τi : Esto proporciona un conjunto de ecuaciones que permiten calcular los valores de los coeficientes desconocidos xki
Los P+1 puntos de colocación se sitúan en instante fijos τi en cada elemento k. Existen diferentes métodos para escoger su posición
x
time τ = 0 τ1 … τj
xk1 xk2 xkj
τ = 1
k = 1,..K
tk-1 tk tk+1 …
Elemento k xkP
![Page 37: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/37.jpg)
Colocación ortogonal
0))p(u,,)(P
(F ki
P
0j k
kjij =∆τ
∑=
xx
Las ecuaciones no se imponen en τ0 = 0, en su lugar, se utilizan, bien las condiciones iniciales en t = 0, o se impone la continuidad de los estados entre elementos. Esto da suficientes ecuaciones adicionales para calcular todos los xkj
x
tiempo τ = 0 τ1 … τj
¿Donde deben situarse los puntos de colocación τi para obtener la mejor estimación de x(t)?
xk1 xk2 xkj
τ = 1
Para reducir P, se escogen polinomios ortogonales:
ji0d)(P)(P i
1
0 j ≠=τττ∫
tk-1 tk tk+1 …
k = 1,..K i = 1, …P
xkP
![Page 38: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/38.jpg)
Colocación ortogonal
2j
0
P
0jj
jjPLegendreP
j)jP)(1jP(
1
)1()(P
++−=γ
=γ
γτ−=τ ∑=
−
2j
0
P
0jj
jjPRadauP
j)1jP)(1jP(
1
)1()(P
+++−=γ
=γ
γτ−=τ ∑=
−
Los puntos de colocación τI, i = 1,…,P se toman como las raíces de polinomios tipo Gauss-Jacobi típicamente:
P τ0 es siempre = 0
Da mas exactitud Da mas robustez
![Page 39: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/39.jpg)
Colocación ortogonal
x
time
Se fuerza la continuidad de la evolución de los estados entre elementos (tk-1 , tk]
Los métodos simultáneos de solución son adecuados para sistemas inestables
tk-1 tk tk+1 …
0100
P,k0,1kk
)t()t(
xxxxxx
==
== +
![Page 40: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/40.jpg)
Colocación ortogonal
Las variables de control, si se desea, pueden también aproximarse por polinomios de interpolación de Lagrange en cada elemento finito (tk-1 , tk]
u
time
La continuidad de los perfiles de las señales de control no se impone entre elementos finitos (tk-1 , tk]
tk-1 tk tk+1 …
]1,0(tt
)(P
)(P)t(
k1k
P
ji,1i ij
ij
P
1jkjj
∈τ∆τ+=
τ−ττ−τ=τ
τ≈
−
≠=
=
∏
∑ uu
![Page 41: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/41.jpg)
Ejemplo
3)0(x1x2xx 2 −=+−=
Integrar entre t = 0 y 1 Se selecciona K = 2 elementos finitos de igual tamaño ∆k = (1 – 0)/2 = 0.5 P = 3 , 4 puntos de colocación
x
tk-1 tk τ = 0 τ1 … τ2
xk1 xk2 xkP
τ = 1
Los puntos de colocación de Radau para P =3 son: τ0 = 0 τ1 = 0.155051 τ2 = 0.644949 τ3 = 1
![Page 42: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/42.jpg)
Example
kjkj1k
23
23
2
13
1
03
03
23
32
3
12
1
02
02
23
31
3
21
2
01
01
23
30
3
20
2
10
10
P
ji,0i ij
ij
x)t(x
0.33332.6667-3.3333P
1.3821-10.2963-8.9141P
10.048825.6296- 15.5808P
191810P
)(P
=∆τ+
τ+ττ=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
ττ+τ=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
τ+ττ=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ
=
+τ−τ+τ−=τ−ττ−τ
τ−ττ−τ
τ−ττ−τ=
τ−ττ−τ=τ
−
≠=∏
Los puntos de colocación de Radau para P =3 son : τ0 = 0 τ1 = 0.155051 τ2 = 0.644949 τ3 = 1
]1,0(tt)(P)t( k1k
P
0jkjj ∈τ∆τ+=τ≈ −
=∑ xx
![Page 43: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/43.jpg)
Example
Los puntos de colocación de Radau para P =3 son : τ0 = 0 τ1 = 0.155051 τ2 = 0.644949 τ3 = 1
3)0(x1x2xx 2 −=+−=
125.0)(P 2
3
0j
kjj +−=τ
∑=
xxx
k = 1,2
0.33335.3333-01)(P
1.3821-5925.02-26.7423)(P
10.048851.2592-7423.64)(P
93630)(P
)(P)t(
23
22
21
20
P
0j k
kjj
+ττ=τ
τ+τ=τ
+ττ=τ
−τ+τ−=τ
∆τ
≈∑=
xx
]1,0(tt
)t(
k1k
kjkj1k
∈τ∆τ+=
=∆τ+
−
− xx
![Page 44: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/44.jpg)
Ejemplo
125.0)(P
ki2ki
3
0j
kjij +−=τ
∑=
xxx
En los puntos de colocación τi : k = 1,2 i = 1, …3
3)0(x1x2xx 2 −=+−= 125.0)(P 2
3
0j
kjj +−=τ
∑=
xxx
k = 1,2
3,2,1i)1x2x(5.0
0.3333)x5.3333-01(1.3821)x-5925.02-26.7423(
10.0488)x51.2592-7423.64(x)93630(
i12i1
13i2i12i
2i
11i2i10i
2i
=+−=
=+ττ+τ+τ+
++ττ+−τ+τ−
3,2,1i)1x2x(5.0
0.3333)x5.3333-01(1.3821)x-5925.02-26.7423(
10.0488)x51.2592-7423.64(x)93630(
i22
i2
23i2i22i
2i
21i2i20i
2i
=+−=
=+ττ+τ+τ+
++ττ+−τ+τ−
8 incógnitas, 6 ecuaciones
![Page 45: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/45.jpg)
Ejemplo
x
t0 =0 t1 τ = 0 τ1 … τ2
x11 x12 x13
τ = 1 t2 =1
x10
0100
P
0jj,kjP,k0,1kk
)t(
)1(P)t(
xxx
xxxx
==
=== ∑=
+
3)0(
)1(P)5.0(
10
3
0jj1j1320
−==
=== ∑=
xx
xxxx
8 incógnitas, 8 ecuaciones La continuidad de estados entre elementos y las condiciones iniciales proporcionan las ecuaciones restantes
Elemento 1 Elemento 2
![Page 46: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/46.jpg)
Ejemplo
Solución exacta / solución mediante colocación ortogonal
![Page 47: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/47.jpg)
Software
47
CasADi es un entorno simbólico para optimización numérica que facilita la discretización e implementa diferenciación automática (gradientes y Hesianos). Genera código C e implementa interfaces a códigos DAE y de optimización como SUNDIALS, IPOPT etc. Se gestiona desde una interfaz con Python
Entornos de modelado y optimización GAMS, AIMMS, XPRESS, Gurobi,… pueden usarse tras la discretización
Solución eficiente de problemas de gran escala
![Page 48: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/48.jpg)
48
Diferenciación Automática
48
Ejemplo::
𝑓 = 𝑥1𝑥2 + sin 𝑥1
¿𝜕𝑓𝜕𝑥1
?
![Page 49: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/49.jpg)
Estabilidad EMPC
49
)u,x(fxvu
XzUvXz
xz)v,z(fz
)v,z(L)z()v(Jmin
kk1k
*0k
fNjj
k0jj1j
1N
0jjjNv
==
∈∈∈
==
+Φ=
+
+
−
=∑ El estudio de estabilidad
del EMPC difiere del NMPC usado para control en que, en este último caso, se conoce el objetivo al que se quiere llegar en el futuro, lo que no ocurre en el caso del EMPC
Aunque el enfoque de garantía de estabilidad es similar al del caso NMPC, normalmente la función de costo debe modificarse con términos de regularización (desviaciones cuadráticas respecto al óptimo en estado estacionario) para asegurar el cumplimiento de ciertas hipótesis.
Para estabilizar las soluciones en lazo cerrado, se suele añadir una penalización terminal Φ definida positiva, como en el caso del NMPC
![Page 50: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/50.jpg)
Estabilidad NMPC
50
z(0)
z(N)
Normalmente se acompaña de una restricción adicional que fuerza el estado en T a estar dentro de una región terminal que contiene al óptimo, en la cual se supone existe una ley de control u = c(x) que mantendría la evolución del sistema dentro de la región terminal. Se supone además que: Existen métodos
para el diseño de la región terminal y la ley de control asociada, pero pueden no ser fáciles de aplicar
)x()u,x(L)x(Xx))x(c,x(L)x()x(
2kk1
fkkk1k
α≤≤α
∈∀−≤Φ−Φ +
)u,x(fxvu
XzUvXz
xz)v,z(fz
)v,z(L)z()v(Jmin
kk1k
*0k
fNjj
k0jj1j
1N
0jjjNv
==
∈∈∈
==
+Φ=
+
+
−
=∑
Con α1 , α2 funciones positivas definidas
![Page 51: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/51.jpg)
Estabilidad EMPC
51
)x()u,x(L)x( 2kk1 α≤≤α
Con EMPC, en el cual un objetivo estable no se conoce de antemano, la suposición
no tiene, en general, por qué cumplirse. Para que se cumpla, y poder aplicar así las condiciones de garantía de estabilidad del NMPC, hay que modificar la formulación del problema añadiendo términos de regularización en la función de costo, que involucran el óptimo (z*, v*) en estado estacionario calculado mediante:
UvXz)v,z(fz
)v,z(Lminv,z
∈∈=
2
Q
1N
0j*
j
*j
jj
2
P
*NNv vv
zz5.0)v,z(Lzz5.0)z(min ∑
−
= −−
++−+Φ
![Page 52: Optimización dinámica de procesosprada/Optimizaciondinamica.pdf · FT . Función de costo económica: (Flujo producto*concentración*precio - – materia prima*precio – -Flujo](https://reader034.vdocuments.pub/reader034/viewer/2022052101/603af0816cc91c74847d8617/html5/thumbnails/52.jpg)
Operación y Control de procesos
Del seguimiento de consignas y el rechazo de perturbaciones a operar una planta dinámicamente con un objetivo económico
Marco: NMPC económico/ Operación óptima de procesos
El desarrollo de este tipo de sistemas es complejo y a veces específico, pero hay herramientas y desarrollos que lo empiezan a hacer posible
52