Exercício de Otimização Dinâmica
8.OTIMIZAÇÃO DE PROCESSOS DINÂMICOS
8.3 Controle Ótimo
Aluno: Giovani Tonel
E-mail: [email protected]
Data: Outubro de 2006
Disciplina: Otimização de Processos
REATOR CSTR - DETERMINAÇÃO DO CONTROLE ÓTIMO
Rodar o arquivo run_cstr.m para ver os dados do processo.
(reação
exotérmica)

Fig. 1 – Reator CSTR não-isotérmico.
Obs: assumido área de troca térmica (At) constante.
Equações do Balanço de Massa e Energia:
![]()
![]()
Onde:
![]()
Equações do Controle:
![]()
,
onde:
e
.

Fig. 2 – Temperatura do reator CSTR não-isotérmico sem ação de controle para determinação do estado estacionário.
Linearizando o sistema e substituindo as condições estacionárias obtém-se as matrizes A, B, C e D (ver arquivo optim_control.html ):
![A = matrix([[-0.875e-1, 0, 0], [-20.8793, -30.3926, -.6203], [36.5291, 54.3873, .8451]])](prova_otimiza_arquivos/image013.gif)
![B = matrix([[-.4375, 0], [0, 0], [0, 45.3178]])](prova_otimiza_arquivos/image014.gif)
![]()
![]()
Para este caso particular que o sistema é invariante no tempo, com A e B controlável, tf= ∞ e matrizes de pesos constantes, a lei de controle ótimo pode ser obtida através da solução da equação de Ricatti estacionária, usando o método LQR implementado no Matlab:
(Solução de Ricatti)
(LQR – Matlab)
Onde W= R , S= P e N=0.
Com a solução da equação de Ricatti dinâmica, a lei do controle ótimo quadrático:
que é independente da condição inicial xo. O sistema dinâmico em malha fechada pode ser escrito como:
,
onde AK
é a matriz característica da dinâmica do sistema regulado.
Para o nosso caso,

![]()
![]()
![Ak := matrix([[-.5382, -0.3e-3, -0.20e-2], [-20.8793, -30.3926, -.6203], [14.7067, 21.9636, -44.8792]])](prova_otimiza_arquivos/image026.gif)
![]()
![P := matrix([[2.3548, 0.17e-2, 0.106e-1], [0.17e-2, 0.363e-1, 0.158e-1], [0.106e-1, 0.158e-1, 0.223e-1]])](prova_otimiza_arquivos/image028.gif)
![E := matrix([[-43.8656], [-31.4064], [-.5380]])](prova_otimiza_arquivos/image029.gif)
Como os autovalores (E) da matriz Ak são todos reais, isso caracteriza um sistema estável.
Já que a matriz Ak é “carrega”
toda a dinâmica do sistema regulado, então resolvendo o sistema acima para várias
condições iniciais e trabalhando com variáveis desvio, o comportamento esperado
é que
vá pra ‘zero’ para quaisquer
condições inicias, assim obtém-se a solução do controle ótimo
(
ver arquivo reator_simulink_optim.mdl).
Pontos de operação inicial:
caso 1
h = 2.5 m
Ca = 50 kmol/m^3
T = 650 K
caso 2
h = 3 m
Ca = 50 kmol/m^3
T = 500 K
caso 3
h = 2.0 m
Ca = 300 kmol/m^3
T = 100 K
caso 4
h = 2.0 m
Ca = 1 kmol/m^3
T = 900; K


Fig. 2 – Solução do controle ótimo
encontrado
para o ponto de operação 3.
Nota-se que tanto quanto o valor de u1* e de u2*, tem um comportamento que extrapola e/ou satura esta variável manipulada no seu inicio para poder ‘trazer’ o sistema para o ponto estacionário.
Observações
Na simulação feita no EMSO, a ação do controlador PIDT se mostrou inversa a ação que deveria ser tomada, pois a medida que a temperatura ia subindo no inicio, o parâmetro u2 também ia aumentando ( de 0 à 1), fazendo com que TW aumenta-se em direção a Tmáx, assim mais calor era injetado (e mais calor era gerado pela reação exotérmica) no sistema até o ponto que a temperatura do reator foi igualada a temperatura da camisa (T= TW= Tmáx), sendo que neste ponto a válvula já saturou. A comprovação da ação inversa do controlador PIDT foi facilmente mostrada alterando-se o parâmetro de -1 à 1 (PIDT.Options.action=1). Abaixo segue o gráfico obtido com as modificações.

Fig. 3 – Controle do processo para o set-point de temperatura 0.85 (T= 630 K).