Documente Academic
Documente Profesional
Documente Cultură
Qumica,
Departamento
de
Engenharia
Florianpolis, 2004
Tese julgada para obteno do ttulo de Doutor em Engenharia Qumica, rea de concentrao
Desenvolvimento de Processos Qumicos e Biotecnolgicos e aprovada em sua forma final pelo
Programa de Ps-Graduao em Engenharia Qumica da Universidade Federal de Santa Catarina.
___________________________
Prof. Dr. Ariovaldo Bolzan
Orientador
___________________________
Prof. Dr. Agenor Furigo Junior
Coordenador do CPGENQ
Banca Examinadora:
__________________________
Prof. Dr. Ariovaldo Bolzan
__________________________
Prof. Dra. Ana Maria Frattini Fileti
_________________________
Prof. Dr. Larcio Ender
_________________________
Prof. Dr. Leonel Teixeira Pinto
_________________________
Prof. Dr. Humberto Jorge Jos
iii
Este trabalho dedicado a Rafael Costa Muniz, meu filho,que me presenteou com um olhar que
vai estar para sempre em minhas memrias;
a meu pai Joo de Queiroz Muniz Filho pelo orgulho incontido frente ao filho doutorando, mas
que no pode ver o desfecho deste trabalho;
e a minha esposa Ana Rosa Costa Muniz pelo exemplo de uma guerreira numa luta firme e
obstinada pela vida.
iv
AGRADECIMENTOS
Desejo expressar minha sincera e profunda gratido para as seguintes pessoas e instituies que
contriburam para a realizao deste trabalho:
Ao professor Ariovaldo Bolzan pela compreenso e ao firme apoio durante a caminhada.
A minha av Antonia pela inocncia, minha me pela esperana e aos meus irmos Joo, Patrcia e
Ana Cludia pela tranqilidade de poder contar com eles a qualquer momento.
A Ana Rosa e Evandro, companheiros de viagens, disciplinas e camares.
A Marcos Mazzucco pelas discusses inicias sobre redes neurais e aquisio de dados.
A Caio e Jaime pela amizade e discusses sobre controle preditivo e redes neurais.
A Universidade de Caxias do Sul pelo apoio prestado no meu processo de qualificao.
RESUMO
MUNIZ, Luis Antonio Rezende. Controle Preditivo Adaptativo Aplicado a um Reator de
Pirlise Operando em Regime Semibatelada. Florianpolis, 2004. 133p. Tese (Doutorado em
Engenharia Qumica) Curso de Ps-Graduao em Engenharia Qumica, Universidade Federal
de Santa Catarina.
vi
ABSTRACT
In the present work it was developed a Self-Tuning Adaptive Model Predictive Control Algorithm
to control a semi batch pyrolysis reactor. An 8L reactor and a separation system were assembled
for this purpose. The reactor temperature control was carried out through a digital control system
implemented for this process. The model used to infer about the process was a multilayered neural
network completely recursive. Firstly, a model predictive control was implemented and an offset
can be seen. To avoid offset problems an adaptive algorithm was applied, performing on-line
weights actualization. The neural network was used to explicitly predict the process output
(reactor temperature) through a pre-defined prediction horizon. Through optimization, this output
vector was used to estimate the process input (heat power supply). The adaptive model process
control shown a performance superior to a classic feedback controller. The temperature stabilizes
without overshoots and offsets. The developed control algorithm was able to compensate the
strong disturbances that occurs during the partial discharge of pyrolysis products, due to reactor
pressure relief.
Key-Words: Model Predictive Control, Adaptive Control, Neural Networks, Pyrolysis, Semi Batch
Reactor
vii
SUMRIO
LISTA DE FIGURAS ..................................................................................................................... xi
LISTA DE TABELAS ................................................................................................................... xv
NOMENCLATURA ..................................................................................................................... xvi
Captulo 1............................................................................................................................................. 1
1
Introduo ................................................................................................................................... 1
Captulo 2............................................................................................................................................. 5
2
Objetivo ....................................................................................................................................... 5
2.1 Objetivo Geral ............................................................................................................................ 5
2.2 Objetivos Especficos ................................................................................................................. 5
Captulo 3............................................................................................................................................. 7
3
3.2.2
3.2.3
3.2.4
3.2.5
Terceira Gerao............................................................................................................ 22
3.2.6
3.2.7
3.2.7.1
3.2.7.2
3.2.7.3
3.2.8
Fundamentao Terica.......................................................................................................... 42
viii
4.1.2
A Funo Objetivo......................................................................................................... 46
4.1.2.1
Parmetros ............................................................................................................. 47
4.1.2.2
4.1.2.3
Restries............................................................................................................... 49
4.1.2.4
4.1.2.5
4.1.3
4.1.4
4.1.4.1
Linear ou No Linear............................................................................................. 51
4.1.4.2
Contnuo ou Discreto............................................................................................. 52
4.1.4.3
4.1.4.4
Determinstico ou Estocstico............................................................................... 53
4.1.4.5
4.1.4.6
Adaptao Programada.................................................................................................. 56
4.2.2
Captulo 5........................................................................................................................................... 61
5
Metodologia............................................................................................................................... 61
5.1 Local de Trabalho: Laboratrio de Reatores ........................................................................... 61
5.2 Aparato Experimental .............................................................................................................. 63
5.2.1
5.2.2
5.2.3
O Modelo do Processo................................................................................................... 68
5.3.2
5.3.3
5.3.4
ix
6.1.1.1
6.1.1.2
6.1.1.3
6.1.2
6.1.2.1
6.1.2.2
6.1.3
6.2.2
Identificao do Sistema................................................................................................ 94
6.2.3
Bibliografia.............................................................................................................................. 126
xi
LISTA DE FIGURAS
Figura 3-1 - Diferenciao na estrutura qumica entre molculas de dioxina e furano.......... 9
Figura 3-2 - Formao de dioxinas e furanos a partir de reaes superficiais catalticas. ...10
Figura 3-3 - Balano para o cloro para trs reatores agitados em seqncia. A mistura contm uma
proporo de 1:6:3 em peso de PVC, poliestireno e polietileno. .......................................... 11
Figura 3-4 - Graus de converso calculadas para decomposio batelada de uma mistura de PVC,
PS e PE (1:1:1 em peso) a vrias temperaturas em uma pirlise em degraus a baixa temperatura. 14
Figura 3-5 - Evoluo aproximada dos algoritmos lineares MPC.
Adaptada de QIN e
BADGWELL, 2003................................................................................................................ 21
Figura 4-1 - Estratgia do controlador preditivo (MPC). ..................................................... 45
Figura 4-2 - Estrutura bsica de um algoritmo de controle preditivo. ..................................46
Figura 4-3 - Diagrama de blocos representando a estrutura do algoritmo de controle com adaptao
programada. ............................................................................................................................ 57
Figura 4-4 - Diagrama de blocos representando o algoritmo de controle adaptativo auto-ajustvel.
................................................................................................................................................. 58
Figura 4-5 - Diagrama de blocos representando a estrutura do algoritmo de controle adaptativo
com modelo de referncia. .....................................................................................................59
Figura 5-1 - Vista parcial do sistema de pirlise de 0.5 L do Laboratrio de Reatores do
Departamento de Engenharia Qumica da Universidade de Caxias do Sul..........................62
Figura 5-2 - Foto do sistema de pirlise com reator de 8 L. .................................................63
Figura 5-3 - Fluxograma do processo de pirlise. .................................................................65
Figura 5-4 - Diagrama de blocos do sistema de controle de temperatura do reatot de pirlise. 66
Figura 5-5 - Representao esquemtica de uma rede neural completamente recorrente... 73
Figura 5-6 - Definio do padro de treinamento utilizando o procedimento da janela mvel. 74
Figura 5-7 - Fluxograma do algoritmo do controlador preditivo e adaptativo. ....................75
xii
C
,
V
C
,
V
xiii
Figura 6-13 - Comparao dos resultados obtidos com o teste a degrau no reator de pirlise com o
modelo de primeira ordem mais tempo morto. Os parmetros obtidos foram K P = 183.4
C
,
V
C
,
V
V
, I = 42.26
C
xiv
Figura 6-26 - Esforo do controlador preditivo para horizonte de controle igual a 1 e diferentes
horizontes de predio. .........................................................................................................110
Figura 6-27 - Eliminao do offset mediante alterao dos pesos da rede neural atravs do
treinamento on-line...............................................................................................................112
Figura 6-28- Aes do controlador submetido a trocas dos pesos para eliminao do offset.112
Figura 6-29 - Influncia do tamanho da janela mvel no desempenho do controlador preditivo
com horizonte de controle igual a 1 e de predio igual a 18. ............................................114
Figura 6-30 - Influncia do tamanho da janela mvel no esforo do controlador preditivo com
horizonte de controle igual a 1 e horizonte de predio igual a 18. ....................................115
Figura 6-31- Efeito do esquema de adaptao na eliminao do kickback. Controladores preditivos
e adaptativos com horizonte de predio igual a 45 e horizonte de controle igual a 1. .....117
Figura 6-32 - Esforo do controlador com diferentes esquemas de adaptao, na tentativa de
elimnar o kickback. ...............................................................................................................117
Figura 6-33 - Evoluo da presso sujeita a pulsos ao longo da reao de pirlise de borra de tinta.
...............................................................................................................................................119
Figura 6-34 - Comparao dos algoritmos de controle durante uma reao de pirlise de borra de
tinta sujeita a pulsos na presso............................................................................................120
Figura 6-35 - Esforo dos controladores durante uma reao de pirlise de borra de tinta sujeita a
pulsos na presso. .................................................................................................................120
xv
LISTA DE TABELAS
Tabela 5-1 - Frmulas para sintonia de controladores PID pelo mtodo ITAE submetidos a
mudanas no set point............................................................................................................. 70
Tabela 5-2 - Frmulas para sintonia de controladores PID pelo mtodo ITAE submetidos um
problema regulador.................................................................................................................71
Tabela 5-3 - frmulas para a sintonia de controladores PI pelo mtodo ITAE submetidos a um
problema servo........................................................................................................................71
Tabela 6-1 - Parmetros do modelo do processo (primeira ordem mais tempo morto) obtidos pelo
DigestTM...................................................................................................................................83
Tabela 6-2 - Parmetros do controlador obtidos pelo mtodo IAE (Integral of Absolute Error). 84
Tabela 6-3 - Parmetros do controlador preditivo................................................................. 87
Tabela 6-4 - Comparao entre os critrios de desempenho relativos para os algoritmos de
controle....................................................................................................................................89
Tabela 6-5 - Compilao dos parmetros do modelo de primeira ordem mais tempo morto para os
diversos testes a degrau implementados. ...............................................................................98
Tabela 6-6 - Sintonia do controlador PID pelo mtodo ITAE para perturbaes no set point.
Clculos efetuados para os diversos modelos da seo anterior. ........................................100
Tabela 6-7 - Indices de performance ITAE relativos entre os controladores PI e PID no controle da
temperatura de um reator de pirlise....................................................................................105
Tabela 6-8 - Anlise comparativa dos critrios de desempenho (ITAE) do controlador preditivo
com diferentes tamanhos de janelas mveis. .......................................................................114
Tabela 6-9 - Indices de performance ITAE relativos entre os controladores preditivo e adaptativo e
PI no controle da temperatura de um reator de pirlise.......................................................121
NOMENCLATURA
c
Sada do controlador
Distrbio medidos
Fluxo de calor
Tempo
Temperatura do reator
Tm
Medida da temperatura
Varivel manipulada
Distrbios no medidos
Varivel controlada
xvii
u Esforo do controlador
Rudo
Captulo 1
1 Introduo
pesquisa por processos que eliminem ou ao menos reduzam estes rejeitos. A pirlise um
processo de tratamento trmico que vem sendo bastante utilizado no aproveitamento
desses materiais. Este processo tem sido aplicado para o tratamento de resduos plsticos,
borra de tinta, resduos domsticos e hospitalares, areia de fundio, entre outros.
A temperatura de reao do processo de pirlise uma varivel importante, a qual
ir determinar, juntamente com o tempo de residncia do material a ser pirolisado, as
caractersticas do produto final obtido. A pirlise aparece como uma alternativa aos
processos de incinerao que produzem dioxinas e furanos, compostos qumicos
altamente nocivos sade humana. Estes compostos formam-se a temperaturas elevadas e
na presena de cloro e oxignio. O controle da temperatura da reao torna-se uma tarefa
primordial na determinao do rendimento do processo e qualidade dos produtos obtidos.
Qualquer que seja a estratgia de controle adotada, o conhecimento da dinmica
do processo um dos primeiros passos na busca da estratgia e sintonia do controlador.
Devido s inmeras reaes que ocorrem no reator de pirlise, o desenvolvimento de um
modelo matemtico, a partir de balanos de massa e energia, torna-se uma tarefa
extremamente complexa, alm do que, o nmero de equaes necessrias inviabiliza a sua
2
soluo para aplicaes em controle on-line. Existem modelos simplificados que analisam
apenas o rendimento da pirlise, no fazendo o estudo por componente. Entretanto,
existem muitas divergncias quanto representatividade destes modelos.
Diversos trabalhos apresentados na literatura mostram que as redes neurais podem
reduzir consideravelmente o esforo necessrio para a obteno de um modelo
matemtico, principalmente quando se trata de sistemas no lineares, com parmetros
fsico-qumicos de difcil/custosa determinao.
Sob o ponto de vista do controle, processos em batelada ou semibatelada carecem
de um melhor estudo, visto que tais processos sofrem uma grande variao no seu ponto
de operao. Desta forma, o controle clssico, baseado em modelos lineares, tem sua
performance prejudicada, uma vez que essa tcnica apresenta bom desempenho apenas
prximo ao ponto de linearizao. Algumas alternativas so apontadas na literatura
especializada, destacando-se entre elas o controle preditivo e o controle adaptativo.
O controle preditivo apontado na literatura moderna como uma ferramenta de
grande potencial para aplicaes em processos no lineares e que so submetidos a
grandes variaes durante a sua operao. Esta tcnica utiliza um modelo interno, o qual
ir estimar os estados futuros do processo num intervalo (horizonte de predio) prdefinido. Estas estimativas sero utilizadas para o clculo das aes de controle.
Neste trabalho prope-se um sistema de controle para um reator de pirlise que
opera em regime semibatelada. A estratgia proposta utiliza uma filosofia de controle
preditivo e adaptativo, auto - ajustvel, utilizando as redes neurais artificiais como modelo
do processo. Foi utilizado um reator de bancada disponvel na Universidade de Caxias do
Sul. Devido s caractersticas construtivas do reator, o sistema apresenta grande retardo
dinmico (cerca de 12 minutos), sendo o mesmo varivel, dependendo do ponto de
operao. Alm disto, a modelagem fenomenolgica do reator torna-se uma tarefa
3
complexa devido grande quantidade de reaes que ocorrem durante o processo de
pirlise. As redes neurais artificiais tm sido aplicadas com xito para descrever o
comportamento de sistemas estticos ou dinmicos e no lineares. A estrutura da rede
mais empregada em processos qumicos tem sido a feedforward, com o algoritmo de
treinamento backpropagation. Entretanto, um elevado nmero de iteraes necessrio
para o ajuste dos parmetros da rede neural, sendo apontadas algumas dificuldades para
sua aplicao em tempo real, como em controle adaptativo de processos, devido
necessidade de um elevado tempo de processamento computacional para o seu
treinamento. Atravs da tcnica da janela mvel o tempo de aprendizagem da rede
pode ser consideravelmente reduzido, diminuindo-se o padro de treinamento.
O controlador proposto baseia-se na minimizao de um critrio de desempenho
quadrtico, onde a rede neural o modelo do processo. levada em considerao, na
funo objetivo, tanto a diferena entre a trajetria proposta para a temperatura do reator e
o valor predito pelo modelo, quanto um fator de penalizao para oscilaes na varivel
manipulada. A rede neural utilizada tem uma estrutura recorrente, de forma a melhorar o
desempenho da mesma na predio do comportamento dinmico do sistema. Esta
estrutura foi utilizada desde o treinamento da rede, onde o horizonte de predio definia o
nmero de pontos futuros que a rede tinha que prever, sendo estes valores confrontados
com o padro de treinamento. Apesar da boa predio do comportamento dinmico do
sistema, a rede apresentou dificuldades na representao do estado estacionrio, gerando
offsets significativos. Estes, por sua vez, puderam ser eliminados atravs do treinamento
on-line da rede.
4
O trabalho est dividido em sete captulos. Os objetivos traados para este
trabalho so apresentados no captulo 2. O captulo 3 traz uma reviso bibliogrfica
apresentando o estado da arte para o processo de pirlise, e principalmente, o estado da
arte do controle de preditivo e adaptativo. O captulo 4 apresenta os fundamentos tericos
do controle preditivo e do controle adaptativo, os quais foram empregados no
desenvolvimento deste trabalho. O captulo 5 descreve a metodologia utilizada para o
desenvolvimento do trabalho. O processo com o reator e o sistema de separao, alm da
instrumentao, apresentado. O mtodo usado para a sintonia do controlador do tipo
retroalimentao descrito. O algoritmo do controlador proposto, alm do algoritmo de
adaptao on-line tambm discutido. O capitulo 6 traz uma aplicao das estratgias de
controle feedback e dos controladores preditivo e proeditivo adaptativo discutidos no
controle da temperatura da pirlise de borra de tinta. O ndice de performance ITAE
(Integral of the Time-Weighted Absolute Value of the Error) usado como critrio de
desempenho, o mesmo usado na sintonia do controlador do tipo retroalimentao. Por
fim, o captulo 7 apresenta as principais concluses obtidas com o desenvolvimento deste
trabalho e aponta alguns desdobramentos que merecem um estudo futuro.
Captulo 2
2 Objetivo
2.1 Objetivo Geral
Desenvolver um algoritmo de controle para controlar a temperatura de um reator
de pirlise operando em regime semibatelada.
6
parmetros na performance do controlador.
Captulo 3
3 O Estado da Arte
8
trmicos as principais vantagens da pirlise sobre a combusto ou incinerao que de
cinco a vinte vezes menos gs produzido, significando que podem ser feitas
considerveis economias na lavagem de gases e, alm disto, o fato de se trabalhar na
ausncia de oxignio, evita a formao de compostos oxigenados, como dioxinas e
furanos, compostos extremamente txicos (LIMA, 1998).
As dibenzo-para-dioxinas policloradas (PCDD) e os dibenzofuranos policlorados
(PCDF), ou simplesmente dioxinas e furanos, so duas sries de compostos com ligaes
tricclicas
aromatizadas,
involuntariamente
sintetizadas
de
forma
plana,
com
10
As primeiras experincias com reatores pirolticos tiveram origem na Alemanha
(LIMA, 1991). No final da Segunda Guerra Mundial, os alemes, utilizando estudos de
Winkler, produziram gases combustveis (metano e isobutano) a partir de resduos
domsticos auxiliando na movimentao da sua frota.
11
resduos slidos foram obtidos nestas corridas. Com resultados iniciais proveitosos novos
resduos foram introduzidos no reator como plsticos e resduos de curtumes (LIMA,
1991).
Figura 3-3 - Balano para o cloro para trs reatores agitados em seqncia. A mistura contm uma
proporo de 1:6:3 em peso de PVC, poliestireno e polietileno.
12
O aproveitamento de diferentes resduos por meio da pirlise tem sido estudado
por diversos autores: (BALLICE et al., 1998; LIN et al., 1999; ISLAM et al., 1999; KIM
e KIM, 2000) no aproveitamento de leos; (BOCKHORN et al., 1999; DOMINGUEZ, et
al., 2001; MOUSQUES, et al., 2001; ARENA e MASTELLONE, 2001; MASTELLONE
e ARENA, 2002) analisaram o reaproveitamento de resduos plsticos; (KAMINSKI,
1991, LOVETT et al., 1997, JANSE et al., 2000; ISLAM e ANI, 2000, DI BLASI, 2002,
WURZENBERGER et al., 2002) testaram a pirlise como alternativa para o
reaproveitamento de madeira e biomassa; (SEBASTIAN e DOBOSZ, 1988; ERDMAN e
JOHNSON, 1989; MITCHELL e SCHWEERS, 1989; KIM et al., 1996; KIM et al., 1997;
NAKOUZI, et al., 1998) verificaram a viabilidade tcnica da pirlise da borra de tinta.
Na pirlise formam-se trs fases, buscando-se uma fase gasosa atxica e com alto poder
calorfico, uma fase lquida que pode ser aproveitada como leo combustvel e uma
quantidade mnima de slidos. As propores entre as fases e a qualidade das mesmas
so determinadas, principalmente, pela temperatura da reao de pirlise (MUNIZ et al.
2003).
Para que estas metas sejam atingidas primordial um bom conhecimento dos
possveis componentes formados durante a reao de pirlise, assim como os mecanismos
de formao dos produtos. Os diferentes componentes do resduo orgnico atingem suas
temperaturas de decomposio e comeam a liberar uma ou mais das seguintes
substncias:
a) Gases combustveis como alcanos, alcenos, formaldedo e monxido de
carbono;
b) Gases no combustveis como vapor de gua e dixido de carbono;
c) Gases corrosivos como cloreto de hidrognio e brometo de hidrognio;
d) Lquidos, geralmente fragmentos da cadeia polimrica;
13
e) Partculas slidas como fuligem, fibra de vidro e cargas minerais;
f) Radicais livres.
A descrio matemtica da fenomenologia envolvida nas reaes de pirlise tem
sido assunto de ampla discusso na literatura cientfica, sendo sem sombra de dvidas, um
problema que ainda permanece em aberto. Diversos so os fatores que contribuem para
fazer com que este processo seja extremamente complexo.
Primeiramente, diversas
simplificaes devem ser assumidas de forma a se obter um modelo geral. Alm disto,
diversos esforos tm sido feito para a representao de aspectos qumicos. Existe uma
grande dificuldade em se encontrar um conjunto de dados completos de um material e os
seus produtos de pirlise, englobando fenmenos trmicos, qumicos e fsicos.
Finalmente, a transferncia de calor deve ser precisamente descrita de forma a representar
adequadamente as vrias condies de operao e tamanhos de partculas, fator de
extrema importncia para a determinao da cintica da reao.
A cintica da pirlise importante para predizer a formao dos compostos a
partir dos resduos industriais. Um mtodo comum para a determinao de parmetros
cinticos ajustar um modelo a uma curva de converso obtida a partir de experimentos
isotrmicos ou dinmicos.
14
decomposio dos plsticos so fortemente influenciadas por interaes entre os
diferentes plsticos presentes na mistura (Figura 3-4).
Figura 3-4 - Graus de converso calculadas para decomposio batelada de uma mistura de PVC, PS e
PE (1:1:1 em peso) a vrias temperaturas em uma pirlise em degraus a baixa temperatura.
15
Fica evidente que a temperatura de reao uma varivel de grande importncia
no processo de pirlise. essa varivel que ir determinar a taxa de calor que deve ser
suprida ao processo para atender a demanda das reaes de degradao, a quantidade de
gs e lquido gerados no processo, assim como a qualidade dos mesmos (MUNIZ et al.,
1999). Grande parte dos processos de pirlise conduzida em reatores semibatelada ou
batelada. A automao e o controle destes processos uma tarefa bastante complexa,
onde no possvel se utilizar os procedimentos padres de projetos de controladores
(CANCELIER, 1998).
A primeira entrada, na
16
seqncia tima, ento enviada planta e todo o clculo repetido entre cada intervalo
de amostragem.
Esta seo apresenta uma breve reviso da histria do MPC, descrevendo as idias
chaves dos algoritmos de controle propostos. Originalmente proposto para atender a
necessidades especficas de controle de plantas de gerao de energia e refinarias de
petrleo, a tecnologia MPC pode ser encontrada atualmente em uma vasta gama de
aplicaes incluindo as reas qumica, processamento de alimentos, automotiva e
aeroespacial.
3.2.1
Controle LQG
x k +1 = Ax k + Bu k + Gd k
( 3-1 )
y k = Cx k + k
( 3-2 )
17
J=
(y
N2
k = N1
ref k
y k
) + u
2
Nu
k =1
2
k
( 3-3 )
( 3-4 )
x k = x k 1 + K f ( y k Cx k 1 )
( 3-5 )
( 3-6 )
18
exigidos, sem violar restries, as quais muitas vezes esto nas vizinhanas destes nveis.
Em adio, as unidades de processo so tipicamente complexas, no lineares, com
restries multivariveis e cuja dinmica varia com o tempo, devido a mudanas nas
condies operacionais, ao de catalisadores, etc. As unidades de processo podem ter
critrios de performance nicos que so difceis de expressar na estrutura LQG.
Entretanto, a falha da teoria LQG, ainda segundo os autores supracitados, esta relacionada
com a cultura da comunidade de controle de processos industriais, a qual no foi exposta
aos conceitos do LQG ou o consideravam impraticveis.
Este ambiente levou ao desenvolvimento de uma metodologia de controle baseada
em modelos mais gerais, na qual o problema de otimizao dinmica resolvido on-line a
cada execuo do controle. As entradas do processo so calculadas de forma a otimizar o
comportamento futuro da planta atravs de um intervalo de tempo conhecido como
horizonte de predio. No caso geral, qualquer funo objetivo pode ser usada. A
dinmica da planta descrita por um modelo do processo explcito, que pode, a princpio,
ter qualquer forma matemtica. As restries para as entradas e sadas do processo so
includas diretamente na formulao do problema, tal que, violaes futuras so
antecipadas e prevenidas. A primeira entrada da seqncia tima obtida injetada na
planta e o problema repetido novamente, no prximo intervalo de amostragem, usando
medidas atualizadas do processo. Em adio ao desenvolvimento de uma tecnologia de
controle mais flexvel, novas tcnicas de identificao foram desenvolvidas, para permitir
estimativas mais rpidas dos modelos dinmicos empricos a partir de dados de testes,
reduzindo consideravelmente o custo de desenvolvimento do modelo.
Esta nova
19
3.2.2
y k + j = hi u k + j i
( 3-7 )
i =1
Este modelo prediz que a sada a um dado tempo depende de uma combinao
linear de valores passados da entrada. Os pesos hi do somatrio so os coeficientes da
resposta a impulso. O somatrio truncado no ponto em que as entradas passadas no
influenciam mais a sada.
A natureza iterativa do algoritmo de controle permite que as restries de entrada
e sada sejam verificadas medida que o algoritmo prossegue. Como a lei de controle
no linear e no pode ser expressa como uma funo de transferncia, o algoritmo foi
considerado como heurstico. No contexto atual o algoritmo poderia ser referido como
um MPC linear.
3.2.3
20
O modelo linear da resposta a degrau, usado no algoritmo DMC (Dynamic Matrix
Control), relaciona mudanas na sada do processo a um somatrio ponderado de valores
passados das mudanas na entrada. Para o caso SISO o modelo do processo do tipo:
N
y k + j = S i u k + j i + S N u k + j N
( 3-8 )
i =1
21
Figura 3-5 - Evoluo aproximada dos algoritmos lineares MPC. Adaptada de QIN e BADGWELL,
2003.
3.2.4
22
d) Entradas timas computadas como a soluo de uma programao
quadrtica.
O algoritmo QDMC (Quadratic Program Dynamic Matrix Control) representa a
segunda gerao da tecnologia MPC, compreendendo os algoritmos que fornecem um
procedimento sistemtico para implementar restries nas entradas e sadas do processo.
3.2.5
Terceira Gerao
3.2.6
Quarta Gerao
23
controle prioritrios, incluso de objetivos econmicos, considerao direta de incertezas
no modelo e melhorias nas tcnicas de identificao de modelos.
3.2.7
Modelos do Processo
( 3-9 )
y = g ( x, u ) +
( 3-10 )
24
o vetor dos distrbios no medidos ou rudos de processo e o vetor dos rudos
medidos. As prximas sees descrevem cada modelo com um pouco mais de detalhes.
( 3-11 )
y k = g ( xk , u k ) + k
( 3-12 )
( 3-13 )
y k = Cx k + Du k + k
( 3-14 )
25
Um modelo discreto na forma de funo de transferncia escrito na forma
matricial conhecido como ARX Autoregressive Model with Exogenous Inputs
(KAILATH, 1980) pode ser representado como:
( )
( )
( )
( )
y k = y q 1 y k + u q 1 u k + v q 1 d k + w q 1 v k + k
( 3-15 )
Onde:
k = [I y (q 1 )] k
( 3-16 )
Para um sistema estvel, um modelo FIR (Finite Impulse Response) pode ser
obtido como:
Nu
Nv
Nw
i =1
i =1
y k = h u k i + hiv d k i + hiw v k i + k
i =1
u
i
( 3-17 )
Uma forma alternativa o FSR (Finite Step Response) (CLUTER et al., 1983)
dada por:
yk =
N u 1
N v 1
i =1
i =1
S iu u k i + S Nu u u k Nu +
Nw 1
S
i =1
w
i
S iv d k i + S Nv v d k Nv +
( 3-18 )
v k i + S Nww v k N w + k
( 3-19 )
26
y k = Cx k + Du k + N ( x k , u k ) + k
( 3-20 )
u k = u k u s
( 3-21 )
y k = y k y s
( 3-22 )
( 3-23 )
27
2
y k = ai y k i + bi u k i
( 3-24 )
i =1
3.2.8
treinamento. O controlador era provido com um modelo inverso (uma rede neural treinada
para aprender o comportamento inverso do sistema) e um filtro robusto com um
parmetro para sintonia. A estratgia proposta inclua ainda uma compensao para tempo
morto na forma de um preditor de Smith. O controlador foi testado atravs da simulao
de um reator CSTR no isotrmico com trs estados estacionrios (dois estveis e um
instvel) e tambm no controle de pH de um processo de neutralizao (tambm por
simulao). Os dois processos apresentam grandes no linearidades e a estratgia proposta
confrontada com o controle clssico PID. Enquanto o controle clssico apresentou
overshoot, o controlador com modelo interno, baseado em redes neurais, apresentou uma
resposta mais rpida e muito mais estvel, tanto em problemas servo como para
problemas reguladores.
28
RITA, 1995 implementou uma rede neural artificial no controle de um tanque
simples e para tanques acoplados. A ao de controle era obtida a partir de uma funo
custo quadrtica para horizonte de predio e horizonte de controle igual a um. Desta
forma, evita-se o problema de otimizao on-line, sendo vlido para sistemas sem retardo
dinmico.
MAZZUCCO, 1996 aplicou uma rede neural com estrutura feedforward como
modelo de um controlador quadrtico no controle de um sistema de nvel e outro de
temperatura. Em ambos os casos duas foram as redes utilizadas, a fim de separar a
dinmica do sistema. No caso do controlador de nvel, o tanque possua duas sees
diferentes, uma cilndrica e outra cnica. No controle de temperatura, as dinmicas de
aquecimento e resfriamento eram diferentes. Neste ltimo caso foi desenvolvido um
sistema para o treinamento e utilizao de uma rede neural para um processo com tempo
morto. Entretanto, o mtodo s eficiente para sistemas com tempo morto muito bem
definido. Os horizontes de controle e predio eram iguais a um, evitando tambm o
problema de otimizao on-line.
TURNER et al., 1996 descreveram um procedimento para implementao de
controle timo baseado em redes neurais recursivas. Como a rede deve possuir
caractersticas necessariamente dinmicas para ser aplicada na predio da varivel
controlada e subseqente clculo da ao de controle, foi adotada uma rede com filtros
(WILLIS et al., 1991), a qual oferecem uma eficiente capacidade de modelagem do
comportamento dinmico do processo. Foi utilizado o mtodo de otimizao de
Levenburg-Marquardt para treinamento da rede neural. O algoritmo foi testado na
simulao do controle de presso de uma coluna de destilao em operao na Austrlia,
a qual apresenta uma complexa no linearidade, e a performance do controlador
comparada com um controlador PI e um controle timo baseado em um modelo linear. O
29
controle timo linear tem uma performance superior ao controle clssico, enquanto o
controle baseado em redes tem um desempenho melhor do que o do controle timo linear.
Mais uma vez o trabalho apresenta apenas os resultados obtidos por simulao e
evidencia a necessidade do uso de filtros para a representao dinmica do processo
atravs do uso de modelo baseado em redes neurais.
CANCELIER, 1998 prope um sistema de controle para um reator em regime
batelada e batelada alimentada, onde ocorre uma reao altamente exotrmica. O sistema
tinha duas variveis manipuladas (a taxa de aquecimento e a vazo da gua de
refrigerao) e uma varivel controlada (temperatura do reator). A estratgia proposta
utiliza uma filosofia de controle preditivo, utilizando redes neurais artificiais como
modelo de processo. O algoritmo de controle proposto possua uma lei de controle para o
aquecimento e uma outra para o resfriamento. Foi proposto um algoritmo para ajuste da
trajetria de referncia do controlador baseado na magnitude de variao do set point e do
estado do sistema.
MORARI e LEE, 1999 publicaram uma reviso sobre o controle preditivo,
fornecendo uma viso geral da origem do controle preditivo (MPC), sendo dada uma
maior nfase ao futuro do MPC do que ao seu passado. Segundo os autores, o que limita
a performance e aplicao da tecnologia MPC no so as deficincias do algoritmo de
controle, mas as dificuldades na modelagem, sensoriamento e estimativa de estados.
Reforam ainda, que o escasso nmero de aplicaes MPC em processos bateladas devese fundamentalmente ao fato de que durante o curso de uma batelada, as variveis de
processo percorrem uma grande faixa de operao e ento, a dinmica do processo sofre
mudanas significativas devido s suas no linearidades, tornando a tarefa de encontrar
um modelo preciso para o processo muito difcil.
30
LANOUETTE ET AL., 1999 apresentaram um trabalho para melhoria na
modelagem de processos complexos quando apenas um pequeno conjunto de dados
experimentais est disponvel. Vrias estratgias de solues foram testadas incluindo
redes neurais feedforward e RBF (radial basis function) em trs problemas, entre eles,
duas aplicaes em polpa de madeira. Os dados experimentais, obtidos atravs de um
projeto timo e a partir de seleo randmica de dados experimentais, foram comparados
no que se refere s suas habilidades de obteno de modelos realistas. Estudou-se ainda a
influncia da funo de ativao, do nmero de nveis e da composio dos dados de
treinamento. O estudo mostrou que os dados obtidos a partir de um projeto apresentam
melhores resultados do que aqueles obtidos de forma randmica, devido sua alta
ortogonalidade. Entretanto, o trabalho limita-se modelagem no estado estacionrio.
Um trabalho com uma extensiva reviso de diversas aplicaes utilizando redes
neurais em controle de processos qumicos, tanto por simulao como para aplicaes online apresentado (HUSSAIN, 1999). Estas aplicaes foram classificadas em trs
31
neural inverso, um modelo projetado para eliminar o retardo do modelo (suas entradas so
o set point corrigido e as sadas passadas do modelo sem retardo). Os clculos efetuados
pelo controlador no tempo k so:
a) A diferena entre a sada do processo e a do modelo interno;
b) O set point corrigido para o modelo interno;
c) A sada do modelo projetado;
d) O valor de controle, sada do modelo inverso;
e) A sada do modelo com eliminao do retardo, a qual ser necessrio para
os clculos seguintes.
A vantagem do modelo interno a sua robustez com respeito a erros do modelo e
a distrbios. Entretanto, esta propriedade s obtida se o modelo de referncia do
controlador for perfeito.
KWONG, 2000 props uma modificao no algoritmo de controle preditivo
conhecido como SMPC (Simplified Model Predictive Control) utilizando a estrutura do
controlador com modelo interno.
entretanto sua performance foi boa apenas para desvios moderados no set point.
O desenvolvimento de um controlador preditivo robusto foi apresentado, aplicvel
para sistemas estveis em malha aberta (RODRIGUES e ODLOAK, 2002).
32
SARKAR e MODAK, 2003 introduziram uma tcnica numrica para resolver
problemas de controle timo no linear. Eles utilizaram uma rede neural com trs
camadas combinada com o algoritmo simulated annealing para desenvolver um algoritmo
hbrido de otimizao para determinar o perfil de controle timo. A aplicabilidade da
tcnica testada por simulao e comparado com estudos apresentados na literatura.
Pode-se observar, a partir desta compilao de artigos na rea de controle
preditivo, um nmero restrito de aplicaes em tempo real, sendo a maioria delas
estudadas atravs de simulaes. Alm disto, fica evidente que o modelo no linear mais
adotado a rede neural, a qual, para uma representao satisfatria do comportamento
dinmico do processo, exige o uso de filtros, sendo o mais empregado o EKF (Filtro
Estendido de Kalman)
Para manter a performance do controlador preditivo atravs de uma faixa de
operao mais ampla estratgias de controle adaptativas tm sido propostas
(DOUGHERTY e COOPER, 2003). Na prxima seo sero apresentadas algumas
importantes aplicaes na rea de controle adaptativo.
33
pesquisas envolvendo as redes neurais concentraram-se na rea de identificao e controle
(ROVITHAKIS e CHRISTODOULOU, 1994).
O problema foi formulado originalmente no incio da dcada de 90 (NARENDRA
et al., 1990).
34
Apesar desta severa falha a performance do controlador foi satisfatria. Foi testado
tambm o desempenho do controlador frente a erros de modelagem. Estes erros referemse sempre s relaes entre as variveis controladas e as variveis manipulveis e nunca
entre as variveis controladas e os distrbios. Mais uma vez o controlador apresentou um
bom desempenho, melhor que o controlador DMC.
Um outro trabalho apresentando a aplicao de um controlador neural para a
temperatura de um reator batelada foi apresentado (DIRION et al., 1996). Nele, uma rede
neural multicamada calcula a ao de controle a ser aplicada no processo. Dois mtodos
para adaptao on-line dos pesos da rede so apresentados: um deles a tcnica de
treinamento especializado, enquanto outro utiliza mais uma rede para modelar a dinmica
do reator. O reator utilizado representado por um modelo com diversas idealizaes. O
reator encamisado e a temperatura da camisa definida atravs da mistura de uma
corrente fria a 10C com uma outra corrente quente a 70C. Assume-se como conhecidas
apenas a temperatura da mistura reagente e as temperaturas de entrada e sada da camisa.
O objetivo do controlador manter a temperatura do reator dentro de um perfil estipulado.
Para isto a abertura da vlvula que alimenta a corrente de gua quente deve ser calculada.
Era desejado encontrar uma rede neural que fosse capaz de calcular a abertura adequada
para a vlvula. O critrio a ser minimizado:
tb
J = y ref (t ) y C (t )
( 3-25 )
i =1
Uma das formas de satisfazer este critrio, conhecido como mtodo indireto,
consiste em comparar o valor calculado pela rede com o valor ideal que permite que
y ref (t ) = y C (t ) e minimizar:
35
tb
J = u rn (t ) u * (t )
( 3-26 )
i =1
36
aproximador de alguma funo no necessariamente um bom aproximador para a
derivada da mesma.
FILETI e PEREIRA, 1997 apresentaram duas estratgias de controle, uma
estratgia adaptativa e outra preditiva, para o controle de uma coluna de destilao
operando em batelada, com o objetivo de controlar a pureza do produto de topo atravs da
razo de refluxo. O controlador foi testado em uma planta piloto. Na primeira estratgia
implementada, a composio do refervedor utilizada como varivel auxiliar para
determinar as condies operacionais da coluna. Os parmetros de um controlador PI so
ajustados em funo deste ponto. Para o controle preditivo foi proposta uma rede neural
para representar o processo. A rede foi treinada usando o mtodo GDR (Generalized
Delta-Rule) ou tcnica do momentum. A rede neural era treinada on-line e determinava a
37
linearizado implementado, sendo os parmetros da rede atualizados on-line. A estratgia
testada atravs de simulaes.
SILVA et al., 1999 apresentaram mais uma aplicao de controle adaptativo em
processos biotecnolgicos. O trabalho descreve o uso de dois algoritmos de controle
preditivo e um controle adaptativo para um processo de fermentao contnua, onde a
produtividade a varivel controlada e a concentrao de substrato na alimentao a
varivel manipulada. Estes trs algoritmos so comparados com o controle por matriz
dinmica tradicional (DMC Dynamic Matrix Control). As estratgias so comparadas
por simulao. Os dois controladores preditivos propostos diferem entre si na forma de
resoluo do modelo. O primeiro controlador utiliza colocao ortogonal em elementos
finitos como mtodo de soluo para o sistema de equaes diferencias que descreve o
processo, enquanto o segundo utiliza colocao ortogonal com pontos eqidistantes,
resultando em um problema de dimenso menor e conseqentemente exigindo um esforo
computacional tambm menor, o que se torna um fator importante para aplicaes online.
BELTRAN e JACKSON, 1999 usaram uma rede neural adaptativa para modelar e
controlar o pH numa aplicao industrial. Foi utilizado o algoritmo de Levenberg
Marquardt para treinamento da rede. Foi utilizada uma estratgia de controle timo,
utilizando o mtodo de Hooke e Jeeves para obteno da seqncia de controle timo.
Foi desenvolvido um controlador adaptativo indireto baseado em uma rede neural
multicamada (ZHANG et al., 1999).
O sistema de
38
simulao, apresentado. A ao de controle expressa atravs de uma rede neural e a
ao de controle ideal obtida por
u=
&
1
[a(x ) + v] 1 b(2x ) es
b( x )
2b ( x )
( 3-27 )
> 0 e lim es = 0 .
t
39
o esvaziamento total do substrato e a produtividade mxima e o compromisso entre o
transbordamento do fator nutricional e condies propcias de crescimento. Aproveitando
as informaes obtidas a partir do modelo, uma anlise no estado estacionrio foi feita de
modo a especificar o ponto timo de operao, ou ao menos uma boa aproximao, na
configurao da planta em dois estgios. Um controle adaptativo com complexidade
reduzida, cujo objetivo era regular a concentrao de substrato atravs das taxas de
diluio em cada estgio, foi escolhido devido necessidade de se propor um algoritmo
vivel. O algoritmo de controle foi eficiente para rejeitar distrbios internos (mudanas
de set point e variaes na carga de nutrientes). Apesar da calibrao e validao do
modelo ter feito uso de dados experimentais, o teste do algoritmo de controle proposto foi
implementado atravs de simulaes.
ENDER e MACIEL FILHO, 2000 apresentaram uma estratgia de controle
multivarivel utilizando redes neurais. A estratgia de controle proposta utiliza
informaes passadas e presentes do processo para projetar o melhor controlador, assim
como gerar novas aes de controle. A cada instante de amostragem o controlador
otimizado, usando o erro futuro da malha fechada, gerada por uma rede neural que
representa a dinmica do processo. O erro desse controlador treinado on-line comparado
com o controlador treinado off-line. S haver mudana no controlador caso o erro seja
menor para o controlador treinado on-line. Caso contrrio mantm-se o controlador
treinado off-line. O algoritmo de controle proposto foi testado pela simulao de um
reator cataltico de leito fixo, o qual tem um comportamento dinmico complexo,
apresentando resposta inversa. Esta estratgia foi aplicada tambm na simulao de um
processo fermentativo para a produo de penicilina (ENDER e MACIEL FILHO, 2001).
CHEN e NARENDRA, 2001 propuseram um controle adaptativo o qual, baseado
numa lei estabelecida, escolhe entre um controlador adaptativo linear ou um controlador
40
adaptativo baseado em redes neurais. O controlador linear tem estabilidade garantida, mas
uma performance nem sempre satisfatria, enquanto o controlador baseado em redes tem
uma melhor performance, mas no possui critrios que garantam a estabilidade. A
estratgia que permite uma escolha on-line entre os dois tipos de controladores apresentou
uma melhora tanto na performance quanto na estabilidade.
Um estudo sobre uso de redes neurais adaptativas para controlar a temperatura do
ar na sada de um trocador de calor compacto foi apresentado (DAZ et al., 2001). O
controlador, baseado na estratgia IMC foi adaptado on-line com base em diferentes
critrios de performance.
Uma nova estratgia de controle adaptativa para um controlador preditivo linear
foi proposta (DOUGHERTY e COOPER, 2003). O mtodo proposto projetar mltiplos
controladores lineares DMC. Os parmetros ajustveis so obtidos usando uma nova
expresso analtica. A sada do controlador adaptativo DMC uma mdia ponderada dos
mltiplos controladores lineares DMC.
Segundo o que foi exposto no texto apresentado neste captulo, o controle de
processos em batelada uma tarefa complexa e apesar do grande nmero de trabalhos
envolvendo algoritmos de controle preditivo, poucos trabalhos abordando o controle deste
tipo de processo foram apresentados na literatura. A grande dificuldade encontrar um
modelo que represente com preciso o comportamento dinmico do processo atravs de
toda a faixa de operao. Uma alternativa plausvel atualizar o modelo on-line, de
forma a que ele consiga representar adequadamente o processo, em todos os pontos de
operao.
Neste trabalho estudou-se um algoritmo de controle preditivo e adaptativo para o
controle de um reator de pirlise, com um regime de operao semibatelada. Fica
evidente, a partir da reviso bibliogrfica apresentada, que o controle da temperatura do
41
reator essencial para a determinao do rendimento e da qualidade dos produtos obtidos
nas reaes pirolticas. Para evitar a perigosa formao de dioxinas e furanos, a reao
deve ser conduzida em estgios, reduzindo a nveis baixssimos a quantidade de cloro nos
produtos de pirlise. O modelo utilizado para representar o processo foi uma rede neural
feedforward totalmente recorrente. Com isto, reduz-se consideravelmente o custo de
Captulo 4
4 Fundamentao Terica
43
2. Calcular uma seqncia de aes de controle que minimizam uma certa
funo objetivo;
3. Estratgia retrocedente, tal que, a cada instante, o horizonte deslocado
para o futuro, envolvendo a aplicao do primeiro sinal de controle da
seqncia calculada, a cada passo de tempo.
Os vrios algoritmos MPC diferem entre si apenas no modelo usado para
representar o processo e os rudos e a funo custo a ser minimizada. Este tipo de
controlador de natureza to ampla que muitos trabalhos tm sido desenvolvidos, tendo
ampla aceitao no mundo acadmico e na industria.
O MPC apresenta uma srie de vantagens sobre outros mtodos, como por
exemplo:
a) atrativo para equipes tcnicas com conhecimentos limitados em controle
de processos, por apresentar conceitos intuitivos, alm da sua sintonia ser
relativamente simples;
b) Pode ser usado para controlar uma grande variedade de processos, desde
aqueles com dinmica relativamente simples at as mais complicadas,
incluindo sistemas com grande tempo morto ou fases no uniformes ou
instveis;
c) So facilmente extendidos a problemas multivariveis;
d) Tem compensao intrnseca para o tempo morto;
e) Introduz o controle feedforward de uma forma natural para compensar
distrbios medidos;
f) Aplica-se bem quando as referncias futuras so conhecidas;
g) uma metodologia totalmente aberta baseada em certos princpios
bsicos, permitindo futuras extenses.
44
Apesar da lei de controle resultante ser de implementao relativamente fcil e
requerer pouco esforo computacional, sua derivao mais complexa do que a dos
controladores clssicos PID. Se a dinmica do processo no se modifica ao longo da
operao, a derivao do controlador pode ser feita a priori, mas no caso do controlador
adaptativo, todo o clculo computacional deve ser efetuado a cada intervalo de
amostragem. Apesar disto, com a capacidade de processamento dos computadores atuais,
este no o principal problema para aplicaes industriais. O grande esforo em
conseguir obter um modelo que represente apropriadamente a dinmica do processo. O
projeto do algoritmo baseado em um conhecimento prvio do modelo. bvio que os
benefcios do controlador iro depender diretamente das discrepncias existentes entre o
processo real e o modelo adotado.
45
soluo explicita pode ser obtida se o critrio quadrtico, o modelo
linear e no existem restries; caso contrrio um mtodo de otimizao
iterativo tem que ser usado.
46
4.1.2
A Funo Objetivo
Os vrios algoritmos MPC propem diferentes funes custo para obter a lei de
controle. O objetivo principal que a sada futura ( y ) no horizonte considerado deve
seguir um determinado sinal de referncia ( y ref
controlador (u ) necessrio para isto deve ser penalizado. A expresso geral para tal
funo objetivo deve ser:
47
Nu
N2
2
2
J ( N 1 , N 2 ,K , N u ) = E (k ) y (k ) y ref (k ) + (k )[u (k 1)]
j =1
k = N1
( 4-1)
4.1.2.1 Parmetros
N1 e N2 so o valor mnimo e o valor mximo do horizonte de predio da funo
custo e Nu o horizonte de controle, o qual no necessariamente coincidente com o
horizonte mximo, como ser visto depois. O significado de N1 e N2 intuitivo. Eles
marcam os limites dos instantes no qual desejado que a sada do processo siga a
referncia. Ento, se um valor muito alto para N1 for adotado porque no importante
que existam erros nos primeiros instantes, o que ir provocar uma resposta suave para o
processo. Nota-se que em processos com um tempo morto d no existe razo para N1 ser
menor do que d , porque a sada no comear a evoluir at o instante t + d . Alm disto,
se o processo possui resposta inversa este parmetro ir permitir que os primeiros
instantes da resposta inversa sejam eliminados da funo objetivo. Os coeficientes (k ) e
(k ) = N
( 4-2)
48
Se est entre 0 e 1 significa que os erros mais distantes do instante atual t
sofrero uma penalizao maior do que os mais prximos, resultando em um controlador
mais suave e com menos esforo. Por outro lado, se > 1 , os primeiros erros estaro
sujeitos a uma maior penalizao, gerando um controlador mais instvel. Em PFC
(Predictive Funcional Control) o erro contado apenas em certos pontos (coincidence
point); pode-se obter facilmente este comportamento para a funo estabelecendo valores
iguais a um aos elementos da seqncia (k ) , nos pontos desejados e zero para os outros.
Todos estes valores podem ser usados como parmetros de ajuste do controlador para
cobrir uma vasta gama de opes.
Ela ,
( 4-3)
k = 1,K, N
( 4-4)
49
Uma outra estratgia usada no PFC, muito aplicada para set point varivel:
y ref (k ) = r (k ) k ( y (k ) r (k ))
( 4-5)
4.1.2.3 Restries
Razes
( 4-6)
( 4-7)
( 4-8)
50
4.1.2.4 Restries de Sobre Elevao
k = N 01 , K, N 02
( 4-9)
4.1.3
u (k ) u (k + 1)
se
y (k ) < y ref (k )
( 4-10)
u (k ) u (k + 1)
se
y (k ) > y ref (k )
( 4-11)
51
escolhido e substituindo-as na funo custo, obtendo assim um expresso cuja
minimizao leva aos valores procurados. Uma soluo analtica pode ser obtida pelo
critrio quadrtico se o modelo for linear e no existirem restries. De outra forma, um
mtodo de otimizao iterativo deve ser usado.
4.1.4
Pelo que foi apresentado, at ento, percebe-se que o ponto mais importante do
controle preditivo o modelo do processo. Os modelos podem ser subdivididos em
funo de suas vrias caractersticas. Como o MPC requer a soluo de um modelo para
predizer as sadas futuras do processo, a forma do modelo selecionado vai repercutir
tambm no desempenho do mtodo. Algumas categorias de modelos sero discutidas nos
prximos sub-itens.
52
lineares, os modelos no lineares so utilizados em processos que envolvem grandes
variaes nas condies de operao e em processos com acentuadas no linearidades
(HENSON e SEBORG, 1997).
( 4-12 )
53
espaciais e no tempo.
Estes
distrbios podem afetar o projeto e operao do MPC de, ao menos, duas formas distintas:
a) Na identificao do modelo do processo um modelo selecionado baseado
em resultados experimentais. O processo de seleo usa consideraes
(implcitas ou explcitas) sobre os distrbios para selecionar e avaliar o
modelo.
selecionado.
b) Depois que a fase de identificao do modelo est completa, as
consideraes sobre os distrbios so as vezes descartadas e o projeto do
controlador pode ser baseada no seu modelo nominal. Se o modelo do
processo nos permite predizer as variaes estatsticas do processo
baseadas em consideraes sobre os efeitos randmicos no modelo,
dizemos que o modelo estocstico.
Como indicado pelo nome, modelos entrada-sada fornecem uma relao entre a
entrada e a sada do processo sem referncias s variveis internas do processo. Como a
maioria dos modelos estado de espao baseada em balanos de calor, massa e momento,
cada estado tem um significado fsico. Os estados tambm podem ser encontrados com
um modelo entrada-sada atravs de manipulaes matemticas e variveis intermedirias.
54
Um caso especial do modelo entrada-sada a rede neural artificial, a qual tem
sido usada em diversas aplicaes de engenharia, incluindo o controle preditivo.
55
56
Nesta situao mais difcil, a estratgia de controle adaptativo deve ser implementada de
uma forma feedback, desde que existe pouca oportunidade para estratgias do tipo
feedforward, como na adaptao programada. Muitos destes controladores so referidos
4.2.1
Adaptao Programada
Este tipo de
57
4.2.2
Controlador Auto-Ajustvel
Figura 4-3 - Diagrama de blocos representando a estrutura do algoritmo de controle com adaptao
programada.
estimativa de parmetros em tempo real requer que um sinal externo seja ocasionalmente
introduzido para permitir uma estimativa precisa dos parmetros do modelo. Tal sinal de
58
entrada pode ser deliberadamente introduzido no set point ou adicionado na sada do
controlador.
O primeiro tipo de controlador adaptativo auto-ajustvel, chamado de Self-Tuning
Regulator, foi proposto em 1973 por strm e Wittenmark e desde ento tem sido
possvel de uma resposta desejada (referncia). Esta estrutura de controle est ilustrada na
Figura 4-5. O componente chave do algoritmo MRAC o modelo de referncia que
consiste em um modelo em malha fechada representando como o processo deve
responder a uma mudana no set point. O modelo pode ser uma simples trajetria ou um
modelo mais sofisticado. A sada do modelo comparada com a sada do processo e o
erro observado utilizado para promover algum esquema de adaptao, fazendo com que
59
os parmetros do controlador sejam ajustados de modo a reduzir este erro a zero. O
esquema adaptativo pode ser algum algoritmo de otimizao dos parmetros do
controlador que reduz a integral dos quadrados dos erros ou algum outro procedimento
semelhante.
Figura 4-5 - Diagrama de blocos representando a estrutura do algoritmo de controle adaptativo com
modelo de referncia.
60
O tema controle adaptativo de grande interesse na atualidade, como pode ser
comprovado pela reviso bibliogrfica apresentada no captulo 3. Muitos algoritmos
novos esto em desenvolvimento, mas necessitam de testes em campo para que possam
ter aceitao industrial. Est claro, ainda, que as tcnicas digitais so necessrias para a
implementao de controladores auto-ajustveis devido sua complexidade.
No prximo captulo ser apresentada a metodologia adota neste trabalho, onde
um controlador preditivo auto-ajustvel implementado para o controle de um reator de
pirlise. O modelo no linear adotado uma rede neural, a qual tem os seus parmetros
ajustados on-line para que a mesma consiga predizer com fidelidade toda a faixa de
operao do processo, sem offset e de forma estvel.
Captulo 5
5 Metodologia
deles, de 0.5 L, foram realizadas as calibraes dos sensores e testes iniciais de pirlise.
Entretanto, devido s suas dimenses reduzidas, os efeitos trmicos gerados pelas reaes
que ocorriam no reator no foram significativos. A sua capacidade de processamento de
resduos era reduzida e, portanto, o calor absorvido pela reao era insignificante frente ao
calor fornecido para manter a temperatura do reator nos valores especificados. Assim
sendo, um reator de 8 L, processando 1000 g de resduo foi implementado, garantindo que
os efeitos trmicos e cinticos fossem perceptveis no sistema reacional (Anexo A1).
Neste captulo, faz-se a apresentao do sistema desenvolvido, a disposio e
calibrao da instrumentao utilizada no sistema de controle digital, os procedimentos
adotados nas corridas experimentais, alm do algoritmo de controle proposto e sua
sintonia.
62
do Sul. Neste laboratrio vem sendo desenvolvido, em especial, um processo para
pirlise de resduos industriais. O grupo de pesquisa vinculado a este laboratrio iniciou
as pesquisas no ano de 1997.
A Figura 5-1 apresenta uma viso parcial do laboratrio, constando de reator de
pirlise de 0.5 L, separador flash, mdulo de potncia, um computador, capela,
cromatgrafo a gs e integrador.
Figura 5-1 - Vista parcial do sistema de pirlise de 0.5 L do Laboratrio de Reatores do Departamento de
Engenharia Qumica da Universidade de Caxias do Sul.
O novo sistema desenvolvido, com um reator de 8 L, pode ser visto na Figura 5-2.
Fazendo uma comparao com o sistema menor, a instrumentao e os equipamentos de
anlise so os mesmos, mas toda a tubulao, reator e separador flash foram
redimensionados para a nova escala de processamento.
63
64
uma vez que a retorta no foi sensvel energia de reao, devido pequena quantidade
de resduo que o mesmo comportava, funcionando praticamente como um forno.
Os dois sistemas utilizados nos experimentos sero descritos em detalhes a seguir,
fazendo uma descrio pormenorizada dos itens que o compe, assim como o
procedimento operacional adotado em ambos os casos.
5.2.1
Uma vista parcial deste processo j foi anteriormente apresentado na Figura 5-1.
Um fluxograma do processo pode ser visualizado na Figura 5-3.
Os principais equipamentos utilizados neste sistema esto listados abaixo:
1. Reator de 0.5 L;
2. Separador Flash;
3. Resistncia eltrica de 14 ;
4. Vlvulas e tubulaes de in.
A instrumentao necessria para o monitoramento e controle do processo de
pirlise :
a) Termopar tipo J;
b) Condicionador de sinal Ultra Slimpack G428 transformando o sinal do
sensor de temperatura para a faixa de tenso entre 0 e 5 V.;
c) Transdutor de presso com leitura mnima de 0 bar e um span igual a 15
bar. A sada do transdutor era em corrente, variando de 4 a 20 mA;
d) Transdutor corrente/tenso para o sinal do transdutor de presso,
condicionando o sinal para uma faixa de 0 a 5 V;
e) Mdulo de potncia com entrada de 0-5 V e sada de 0-110V;
65
f) Placa de aquisio de dados CIO-DAS Jr 08, com oito entradas analgicas
e duas sadas analgicas de 5 V;
g) Computador com processador Pentium 100 MHz.
66
manipular a temperatura do reator. Um mdulo de potncia amplifica linearmente a
tenso de sada emitida pelo controlador para uma faixa de 0 a 110 V. Esta tenso eltrica
aplicada na resistncia que envolve o reator, fornecendo o fluxo de calor (Q) necessrio
para conduzir a temperatura do reator aos valores especificados.
5.2.2
67
5.2.3
68
backpropagation foi empregado tanto para o clculo das aes de controle como para o
Os controladores MPC
utilizaram como modelo do processo uma rede neural feedforward com trs camadas e
com 3 neurnios na camada de entrada, 5 na camada intermediria e 1 na camada de
sada.
5.3.1
O Modelo do Processo
constantes,
configurando-se
um
controlador
preditivo;
no
segundo
5.3.2
69
controle de processo (SMITH e CORRIPIO, 1997).
Ds
1
U (s )
= K C 1 +
+
E (s )
I s D s + 1
( 5-1)
D s + 1
uma funo de transferncia primeira ordem com ganho unitrio e constante de tempo
( 5-2)
A equao ( 5-1) pode ser escrita em uma forma discreta, de acordo com as
equaes ( 5-3) e ( 5-4).
Yn =
D
D
(E n 2 E n 1 + E n 2 )
Yn 1 +
D + T
D + T
T
E n + Yn
U n = K C E n E n 1 +
I
( 5-3)
( 5-4)
70
U n = U n 1 + U
( 5-5)
0.965
KC =
K P P
I =
0.855
( 5-6)
P
0.796 0.147
D = 0.308 P
P
( 5-7)
0.9292
( 5-8)
71
Tabela 5-2 - Frmulas para sintonia de controladores PID pelo mtodo ITAE submetidos um problema
regulador.
1.357
KC =
K P P
0.947
I = P
0.842 P
0.738
D = 0.381 P
P
( 5-9)
( 5-10)
0.995
( 5-11)
0.965
KC =
K P P
I =
0.855
P
0.796 0.147
( 5-12)
( 5-13 )
5.3.3
O Controlador Preditivo
O algoritmo de controle preditivo adotou uma rede neural recursiva como modelo
para descrever o comportamento dinmico do processo (Figura 5-5). A rede treinada
off-line e utilizada explicitamente para predizer o comportamento dinmico do sistema,
72
(dentro de um horizonte de controle determinado) atravs da minimizao da funo
objetivo:
N2
J = Tref k Tk
k =1
Nu
+ u k2
( 5-14 )
k =1
( 5-15 )
73
desejado. Entretanto, deve-se ter uma estimativa para as seqncias de controle dentro
deste intervalo de tempo.
(backpropagation).
5.3.4
74
estacionrio, uma vez que o treinamento capta bem a dinmica do processo, mas no
representa de forma precisa o estado estacionrio, gerando os offsets.
O modelo inicial a rede treinada off-line. Para o treinamento on-line utilizado
um conjunto com dimenso a ser definida.
amostragem a rede treinada com um padro diferente. Uma taxa de aprendizagem baixa
usada. O objetivo desse procedimento que a atualizao dos pesos se d de forma
lenta e com isso uma condio favorvel estabilidade do sistema seja mantida. O
algoritmo do controlador preditivo adaptativo apresentado na Figura 5-7.
75
76
adaptativo para o segundo reator, com o intuito de, principalmente, eliminar o offset
observado em todas as corridas conduzidas pelo controlador preditivo.
O programa desenvolvido possui um mdulo para configurao do sistema de
aquisio de dados, conforme pode ser visto na Figura 5-8, com especificao dos canais
analgicos de leitura, a seleo da varivel lida em cada canal, a unidade da varivel e a
curva de calibrao (linear). Neste mesmo mdulo realizada a seleo dos canais de
sada, definindo-se tambm o canal analgico de sada, a varivel manipulada e a curva de
calibrao. Por fim, seleciona-se qual o tipo de placa utilizada.
No modo de execuo do programa, pode ser definido ainda, se o sistema est em
malha aberta ou malha fechada. Em malha aberta (Figura 5-9), a entrada do sistema deve
ser definida manualmente, estabelecendo-se o valor da tenso eltrica na sada da placa de
aquisio de dados (0 a 5 V).
77
Quando operando em malha fechada, deve-se especificar qual o modo de controle
a ser utilizado: Controlador PID, Controlador Preditivo ou Controlador Preditivo e
Adaptativo (Figura 5-10). Para o controlador PID, deve ser especificado os valores dos
seus parmetros ( K C , I e D ), alm do set point.
Figura 5-9 - Cdigo computacional para o controle digital operando em malha aberta.
78
on-line da rede neural. Deve-se selecionar ento, o mtodo de otimizao a ser utilizado,
79
reiniciando a adaptao apenas quando um nmero de pontos, aps a alterao do set
point, for igual ao nmero de pontos definidos.
Captulo 6:
6 Resultados e Discusses
81
6.1.1
Os
82
software que realiza bem a tarefa de ajuste de modelos o DigestTM1 (COOPER e
BIESZCZAD, 1994). Este software pode importar arquivos ASCII contendo os dados
dinmicos. Estes dados devem estar na forma tabular com as variveis em colunas
separadas por tabulaes, espaos ou virgulas. Em seguida deve-se fazer a seleo das
variveis classificadas em tempo, varivel manipulada e a varivel medida. Os modelos
lineares disponveis no DigestTM incluem sistemas de primeira ordem, primeira ordem
mais tempo morto, segunda ordem e segunda ordem mais tempo morto.
O DigestTM ento, ajusta o ganho do processo, a(s) constante(s) de tempo e o
tempo morto (se aplicvel) aos dados, atravs da minimizao do somatrio do quadrado
dos erros entre a sada do processo e a resposta predita pelo modelo. O DigestTM opera de
acordo com as seguintes consideraes:
1. O processo est no estado estacionrio antes de ser submetido
perturbao;
2. O primeiro dado no arquivo uma boa media do valor da varivel medida
no estado estacionrio inicial;
3. O incremento de tempo entre os dados deve ser constante.
A Figura 6-1 apresenta os resultados de um teste a degrau implementado na
potncia de aquecimento da retorta, atravs da variao da tenso eltrica aplicada na sua
resistncia. O degrau teve uma amplitude de 0.3 V, passando inicialmente de 0.7 V para
1.0 V. A temperatura do reator a varivel de resposta. O ajuste dos parmetros
efetivado no DigestTM, forneceu um ganho do processo de 201.4 C/V, uma constante de
tempo de 69.1 minutos e um retardo dinmico de 12.0 minutos. Estes resultados so
apresentados na Tabela 6-1.
83
6.1.1.2 Sintonia do Controlador
controlador igual a 0.08, tempo integral igual a 62.0 minutos e tempo derivativo igual a
1.2 minutos. Estes resultados so sumarizados na Tabela 6-2.
Figura 6-1 - Validao do modelo de primeira ordem mais tempo morto para a retorta.
Tabela 6-1 - Parmetros do modelo do processo (primeira ordem mais tempo morto) obtidos pelo
DigestTM.
K P (C/V)
P (min)
(min)
201.4
69.1
12.0
84
Tabela 6-2 - Parmetros do controlador obtidos pelo mtodo IAE (Integral of Absolute Error).
KC
I (min)
0.08
62.0
D (min)
1.2
85
Figura 6-3 - Esforo do controlador do tipo retroalimentao para condizir o processo de pirlise a um
novo set point.
6.1.2
Controlador Preditivo
J = Tref k Tk
k =1
Nu
+ u k2
k =1
( 6-1 )
86
Tref k +1 = Tref k + (1 )TSP
( 6-2 )
Foi adotado um modelo emprico. Uma rede neural com 3 neurnios na entrada, 5
neurnios na camada intermediria e 1 neurnio na sada foi empregado como modelo
para o processo. Para que a rede atuasse de forma preditiva, a rede era recursiva, sendo a
rede realimentada pela sua sada, de forma sucessiva, at que todo o horizonte de predio
fosse coberto.
87
(penalizao do esforo do controlador) e (definio da trajetria de referncia), alm
dos horizontes de predio e controle. Os parmetros utilizados neste trabalho esto
sumarizados na Tabela 6-3. O valor do horizonte de predio foi sempre igual ao do
horizonte de controle.
2.5
0.1
0.9
88
estvel e sem offset. Para um horizonte de predio e controle igual a 20 instantes de
amostragem a resposta muito lenta, gerando um offset no processo. Foi utilizado como
ndice de performance, o critrio adotado na sintonia do controlador do tipo
retroalimentao, ou seja, a integral dos erros absolutos (IAE). Os ndices relativos (razo
entre o ndice obtido no algoritmo de controle em questo e o ndice obtido pelo
controlador preditivo com horizontes de predio e controle iguais a 30) so apresentados
na Tabela 6-4. Para o problema servo o controlador com horizontes iguais a 30 foi
superior a todas as outras alternativas.
Figura 6-5 - Esforo do controlador preditivo para diferentes horizontes de predio e controle.
6.1.3
89
para estabilizar a temperatura no valor do set point tambm foi reduzido
significativamente. A Tabela 6-4 aponta que o ndice de performance do controlador do
tipo retroalimentao 10 % maior do que o do controlador preditivo, com horizontes de
predio e controle iguais a 30, quantificando assim a superioridade deste ltimo.
Tabela 6-4 - Comparao entre os critrios de desempenho relativos para os algoritmos de controle.
Critrio de Desempenho
Algoritmo de Controle
Retroalimentao
Preditivo (horizontes iguais 20)
Preditivo (horizontes iguais 30)
IAE
Problema Servo
Problema Regulador
1.10
0.86
1.31
8.06
1.00
1.00
90
Figura 6-7 - Comparao do esforo dos controladores do tipo retroalimentao e preditivo para
conduizir a temperatura do reator da temperatura ambiente at 320C.
Figura 6-8 - Comparao da performance dos algoritmos de controle, quando o processo submetido a
uma perturbao.
91
Observa-se, mais uma vez, o bom desempenho do controlador preditivo com
horizontes iguais a 30.
Figura 6-9 - Esforo de diferentes controladores para suprimir o efeito de distrbios no processo.
92
93
com filtro tem um timo desempenho frente s restries impostas. Vale ressaltar que a
faixa para a leitura da temperatura no poderia ser outra em face da grande variabilidade
das condies operacionais.
Figura 6-10 - Anlise dos efeitos do curto-circuito nos canais analgicos de leitura no utilizados e do
filtro sobre os rudos, na leitura da temperatura do reator.
Ao trabalhar com os canais no utilizados sem terra e sem filtro para a temperatura
lida, a temperatura apresentou uma variao de 6C entre o mximo e o mnimo valor
lido, no intervalo de tempo considerado. Com a colocao do aterramento dos canias no
utilizados, observa-se uma diminuio discreta da variabilidade de leitura e a temperatura
passa a oscilar com uma variao de 5.3C. Entretanto, com a adio do filtro para a
temperatura houve uma significativa reduo do rudo, limitando sua variao a 0.8C.
Obviamente esta ltima foi a configurao adotada no trabalho.
94
6.2.2
Identificao do Sistema
95
Figura 6-11 - Comparao dos resultados obtidos com o teste a degrau no reator de pirlise com o
modelo de primeira ordem mais tempo morto. Os parmetros obtidos foram K P = 116.5
C
,
V
96
comparao e do aquecimento de 0 para 1.7 V (Figura 6-11) com o resfriamento. O
tempo morto desta ltima rota praticamente a quarta parte do primeiro teste.
Figura 6-12 - Comparao dos resultados obtidos com o teste a degrau no reator de pirlise com o
modelo de primeira ordem mais tempo morto. Os parmetros obtidos foram K P = 189.3
C
,
V
97
minutos, praticamente o mesmo que o obtido no primeiro ensaio, quando aquecendo o
reator da temperatura ambiente atravs de um degrau de 1.7 V na tenso de sada do
controlador. O que se pode concluir que o tempo morto obtido no modelo na verdade
uma aproximao de vrios sistemas em srie. Como na partida todo o sistema tem que
ser aquecido (resistncia, l de rocha, paredes do reator, etc.) o retardo dinmico fica mais
acentuado, resultando num tempo morto aproximado tambm maior.
Figura 6-13 - Comparao dos resultados obtidos com o teste a degrau no reator de pirlise com o
modelo de primeira ordem mais tempo morto. Os parmetros obtidos foram K P = 183.4
C
,
V
Um resumo dos parmetros ajustados para os testes efetuados podem ser vistos na
Tabela 6-5. Como foi visto, a funo de transferncia muda em funo do ponto de
operao, assim como devido a rota do processo. Isto ir afetar diretamente a sintonia do
controlador do tipo retroalimentao, haja visto que a mesma depende dos parmetros do
modelo adotado. Este assunto ser discutido no prximo tpico.
98
Figura 6-14 - Comparao dos resultados obtidos com o teste a degrau no reator de pirlise com o
modelo de primeira ordem mais tempo morto. Os parmetros obtidos foram K P = 140.3
C
,
V
Tabela 6-5 - Compilao dos parmetros do modelo de primeira ordem mais tempo morto para os
diversos testes a degrau implementados.
Degrau (V)
KP (C/V)
P (min)
(min.)
25 225
0.0 1.7
116.5
51.0
13.3
225 400
1.7 2.7
189.3
30.3
6.5
225 400
2.7 1.7
183.4
40.4
3.6
25 400
0.0 2.7
140.3
31.2
12.7
6.2.3
99
substituio por algoritmos de controle avanado, quando a performance do controlador
do tipo retroalimentao no adequada. Por isso, o controlador do tipo retroalimentao
empregado aqui como um comparativo para a performance do algoritmo proposto.
Neste trabalho optou-se por ajustar o controlador do tipo retroalimentao pelo
mtodo ITAE (Integral of the Time-Weighted Absolute Value of the Error), uma vez que
o mesmo apontado como um dos mais indicados para o propsito. As equaes usadas
para a sintonia do controlador PID, quando o processo submetido a mudanas no set
point esto na Tabela 5.1.
parmetros que esto na faixa da temperatura ambiente at 400C, uma vez que os
parmetros do modelo so os valores intermdio para os diferentes testes.
O primeiro teste foi realizado dando partida ao processo temperatura ambiente e
submetendo-o a um problema servo. Assim, o set point alterado, na forma de uma
funo degrau, inicialmente para 250C. Aps a estabilizao da temperatura no valor do
set point promove-se uma nova perturbao para 400C e aguarda-se at que o processo
estabilize novamente.
K C = 0.015
V
, I = 42.26 min e D = 4.17 min. O parmetro utilizado no filtro da
C
ao derivativa (equao 5-1) foi igual a 0.9. Os resultados esto plotados na Figura 6-15
e Figura 6-16.
100
Tabela 6-6 - Sintonia do controlador PID pelo mtodo ITAE para perturbaes no set point. Clculos
efetuados para os diversos modelos da seo anterior.
Faixa de
Processo
Controlador PID
Temperatura (C)
K P (C/V)
P (min)
(min)
K C (V/C)
I (min)
D (min)
25 225
116.5
51.0
13.3
0.026
67.31
4.51
225 400
189.3
30.3
6.5
0.019
39.64
2.23
400 225
183.4
40.4
3.6
0.042
51.60
1.32
25 400
140.3
31.2
12.7
0.015
42.26
4.17
D = 4.17
min e
= 0 .9 .
V
, I = 42.26
C
101
point inicial (um degrau de 225C) foi de cerca de 200 minutos, aproximadamente o
Figura 6-16 - Esforo do controlador PID para conduzir o processo da temperatura ambiente at 250C e
em seguida, at 400C.
V
, I = 42.26 min e D = 4.17 min, porm com o valor de igual a 0.1.
C
Como pode ser visto na Figura 6-17 ao reduzir a ao do filtro na ao derivativa ( igual
a 0.1) o controlador apresentou um comportamento muito inferior ao controlador com um
filtro com ao mais acentuada ( igual a 0.9). Para o controlador com menor filtro
possvel observar um kickback nas duas perturbaes, sendo que no degrau em que o set
point passa de 250C para 400C este fenmeno foi mais acentuado.
102
Figura 6-17 - Comparao da performance do controlador PID para diferentes filtros na ao derivativa.
103
A literatura sugere valores para a constate de tempo do filtro entre 0.20 e 0.05.
Nos testes implementados, o melhor valor obtido ficou em 0.90, um valor bem acima do
limite sugerido.
Devido ao extremamente conservativa do controlador PID, optou-se por
avaliar a performance de um controlador PI frente as mesmas perturbaes que incidiram
sobre o controlador PID. De acordo com as tcnicas de projeto de controladores clssicos
apresentadas no Captulo 5 os parmetros do controlador PI para o sistema em questo
so K C = 0.010 e I = 32.40 min. Os testes realizados so apresentados na Figura 6-19 e
Figura 6-20.
Figura 6-19 - Comportamento da temperatura do reator perturbaes degrau no set point, para um
controlador PI.
104
uma nova alterao do set point (Figura 6-21 e Figura 6-22). Para que a anlise da
performance fique evidenciada de forma quantitativa, foi adotado o ndice de performance
ITAE, o mesmo empregado no clculo dos parmetros do controlador.
t
I = t e(t ) dt
( 6-3 )
Figura 6-20 - Esforo do controlador PI para conduzir o processo da temperatura ambiente at 250C e
em seguida, at 400C.
105
Tabela 6-7 - Indices de performance ITAE relativos entre os controladores PI e PID no controle da
temperatura de um reator de pirlise.
250C
400C
Controlador PI
1.00
1.00
Controlador PID
2.24
2.40
Set Point
Diante destes resultados, o controlador PI, com K C = 0.010 e I = 32.40 min, foi
adotado como controlador a ser utilizado para efeito de comparao com os algoritmos
propostos.
A seguir apresentado os resultados obtidos para o ajuste do controlador preditivo
e os motivos que justificam o uso de uma estratgia adaptitva.
Figura 6-21 - Comparao da dinmica do processo ao ser conduzido para diferentes set points por
controladores PI e PID.
106
=0.
Uma anlise qualitativa da resposta do sistema de controle s perturbaes
submetidas ao set point indica que a penalizao acabou gerando um comportamento
107
mais oscilatrio da varivel controlada do que quando foi anulada a penalizao do
esforo do controlador.
108
Figura 6-24 - Esforo do controlador para diferentes penalizaes impostas nas variaes da ao de
controle. Horizonte de Predio igual a 10 e de controle igual a 1.
109
horizontes de predio iguais a 5, 10, 15 e 20. Desta forma, os pesos a serem utilizados
nos testes dos controladores so escolhidos entre estes conjuntos. Para horizontes de
predio menor ou igual a 5 utilizou-se os pesos obtidos no treinamento com horizonte de
predio igual a 5. Para horizontes de predio entre 5 e 10 empregou-se os pesos obtidos
no treinamento com horizonte de predio igual a 10 e assim sucessivamente. Os testes
realizados para diferentes horizontes de predio so apresentados na Figura 6-25 e
Figura 6-26.
Figura 6-25 - Desempenho do controlador preditivo com horizonte de controle igual a 1 e diferentes
horizontes de predio.
Uma anlise qualitativa das Figura 6-25 e Figura 6-26 indica uma melhor
performance do controlador com horizonte de predio igual 18, apesar do acentuado
kickback apresentado, quando o controlador est conduzindo o processo para o set point
110
Figura 6-26 - Esforo do controlador preditivo para horizonte de controle igual a 1 e diferentes
horizontes de predio.
111
destes controlador.
112
Figura 6-27 - Eliminao do offset mediante alterao dos pesos da rede neural atravs do treinamento
on-line.
Figura 6-28- Aes do controlador submetido a trocas dos pesos para eliminao do offset.
113
valores obtidos para uma janela mvel com tamanho igual a 35. O pssimo desempenho
do controlador que utiliza um padro para treinamento on-line composto por 50 pontos
114
deve-se sobretudo, ao elevado tempo necessrio para iniciar o treinamento da rede. Isto
porque, para iniciar o treinamento deve-se esperar que ao menos um nmero de pontos
iguais ao tamanho da janela tenha sido armazenado.
Figura 6-29 - Influncia do tamanho da janela mvel no desempenho do controlador preditivo com
horizonte de controle igual a 1 e de predio igual a 18.
Tabela 6-8 - Anlise comparativa dos critrios de desempenho (ITAE) do controlador preditivo com
diferentes tamanhos de janelas mveis.
50
45
40
35
30
250
1.70
0.97
1.04
1.00
1.05
400
1.86
1.30
1.03
1.00
0.65
115
estar conduzindo o processo at 250C.
superior para um tamanho de janela igual a 45. Uma anlise qualitativa do esforo do
controlador indica, entretanto, que o controlador com janela igual a 30 apresenta uma
indesejvel oscilao. Ao adotar um nmero menor de pontos para o treinamento, o
controlador torna-se mais instvel devido maior variabilidade dos pesos. Pode-se notar
que mesmo quando analisando a tarefa do controlador de conduzir o processo at 400C,
o esforo do controlador com tamanho de janela igual a 30 maior, apresentando uma
maior oscilao. Isto entretanto, no contabilizado no critrio de desempenho ITAE e o
seu ndice de desempenho significativamente menor. Uma quantificao do esforo do
controlador efetuado atravs do clculo do somatrio do quadrado da sua variao indica
que o controlador com janela igual a 30 apresenta um esforo de cerca de 20% maior do
que o controlador com tamanhos de janela 35 e 40 (desempenho muito prximos em
todos os critrios).
Figura 6-30 - Influncia do tamanho da janela mvel no esforo do controlador preditivo com horizonte
de controle igual a 1 e horizonte de predio igual a 18.
116
Com base nos resultados apresentados at ento, foi adotado um controlador
preditivo e adaptativo auto-ajustvel com os seguintes parmetros: = 50 , = 0 N u = 1 ,
N 2 = 18 , = 0.90 e tamanho da janela igual a 35. Apesar dos desempenhos dos
117
Figura 6-32 - Esforo do controlador com diferentes esquemas de adaptao, na tentativa de elimnar o
kickback.
118
119
Figura 6-33 - Evoluo da presso sujeita a pulsos ao longo da reao de pirlise de borra de tinta.
Na segunda etapa, o set point foi alterado de 250C para 400C. Apesar de
apresentar um maior overshoot (overshoot de apenas 1%), o controlador preditivo
apresentou mais uma vez um desempenho superior ao controlador do tipo
retroalimentao. Como nesta etapa a reao ocorre de forma mais intensa, a produo de
gs incrementada e os distrbios ocorrem com maior freqncia e intensidade. O
controlador do tipo retroalimentao apresenta dificuldades para conduzir a temperatura
at o valor do set point, problema no repetido no controlador preditivo e adaptativo.
Analisando o comportamento da ao de controle, nota-se uma resposta mais
nervosa do controlador preditivo. Estas aes entretanto, devem-se fundamentalmente
tentativa do controlador em eliminar os distrbios que assolam o processo.
120
Figura 6-34 - Comparao dos algoritmos de controle durante uma reao de pirlise de borra de tinta
sujeita a pulsos na presso.
Figura 6-35 - Esforo dos controladores durante uma reao de pirlise de borra de tinta sujeita a pulsos
na presso.
121
A quantiticao da performance dos controladores foi baseada no mtodo ITAE e
seus resultados so apresentados na Tabela 6-9.
Tabela 6-9 - Indices de performance ITAE relativos entre os controladores preditivo e adaptativo e PI no
controle da temperatura de um reator de pirlise.
250C
400C
1.00
1.00
4.90
1.70
Set Point
Captulo 7
7 Concluses
a vlvula de sada do reator era aberta, com o intuito de diminuir a presso formada pelos
gases produzidos pela reao.
O controlador preditivo adaptativo proposto, quando comparado ao controlador
clssico do tipo retroalimentao, apresentou um desempenho superior. Ao conduzir a
temperatura do reator ao valor do set point, conseguiu reduzir significativamente o tempo
de processamento. Para manter o processo, durante 10 minutos, no valor estabelecido
pelo set point, valor sugerido por Costa-Muniz (Costa-Muniz, 2004), o tempo de batelada
para o controlador do tipo retroalimentao foi de 290 minutos (160 minutos para atingir
e manter-se em 250C e 130 minutos para estabilizar e permanecer por 10 minutos em
400C), enquanto o controlador preditivo e adaptativo proposto necessitou de apenas 140
minutos (sendo 60 minutos para o primeiro patamar e 80 minutos para o segundo). Esta
123
reduo superior a 50% no tempo de processamento, ao optar pelo controlador preditivo e
adaptativo, um forte indicativo do ganho obtido por esse controlador.
Alm do ganho no tempo de processamento do resduo, essa conduo mais
rpida ao valor estabelecido para o processamento garante um melhor controle sobre a
qualidade do produto obtido, a qual sofre grande influncia do tempo e da temperatura
de operao do reator (Anexos A3, A4, A5 e A6).
A rede neural recursiva utilizada como modelo do processo, apesar de representar
de forma satisfatria o comportamento dinmico do processo, apresenta dificuldades na
representao do estado estacionrio. De fato, os dados obtidos para o treinamento
representam o comportamento dinmico do processo e no o estado estacionrio. Como a
rede aprende sobre o processo a partir do padro de treinamento, este desempenho
justificvel. Como o desempenho dos controladores MPC est intrinsecamente ligado
qualidade do modelo usado para representar o processo, essa dificuldade de representao
do estado estacionrio faz com que o controlador preditivo baseado em redes neurais
apresente offsets. Uma estratgia de adaptao on-line, quando o processo est operando
prximo ao ponto de estabilizao garante a eliminao do offset.
A estratgia adaptativa empregada neste trabalho era baseada na tcnica da janela
mvel, a qual reduz o tamanho do padro de treinamento, permitindo um treinamento da
rede on-line. O mtodo de otimizao empregado para o treinamento da rede foi o
mtodo do gradiente, o qual forneceu, em conjunto com a tcnica da janela mvel, uma
adaptao robusta. Deve-se ressaltar que esse procedimento foi implementado em um
computador Pentium II 300 MHz, evidenciando que para a implementao de estratgias
de controle digitais no necessrio o uso de computadores com grande capacidade de
processamento.
124
O tamanho do padro gerado para o treinamento on-line afeta o desempenho do
controlador. O nmero de parmetros a serem determinados para modelo 26 (20 pesos e
6 bias). Assim, um nmero reduzido de pontos no padro de treinamento no garante
fidedignidade rede, prejudicando a robustez do controlador. Um nmero muito grande
de pontos no padro de treinamento aumentar o tempo de treinamento, obtendo-se assim
valores longe do timo para os pesos da rede. Alm disto, este padro carrega consigo
um histrico muito grande do processo, dificultando a adaptao do modelo a distrbios
no medidos. Neste trabalho, um tamanho de janela mvel igual a 35 foi adotado.
A estratgia de adaptao tambm tem papel decisivo no desempenho do
controlador. A questo aqui saber quando o modelo deve sofrer uma adaptao. Um
nmero de pontos, ao menos igual ao tamanho da janela mvel foi adotado como critrio
para iniciar a adaptao. Assim um treinamento offline deve ser efetuado de forma a
fornecer pesos iniciais para a rede, antes da adaptao.
Entretanto, ao se produzir
perturbaes no set point, a rede adaptativa comea a fazer predies para pontos onde ela
no tem informaes, realizando clculos de extrapolao no recomendados. Portanto,
neste trabalho, foi implementada no algoritmo uma condio de que ao ocorrer uma
perturbao no set point o modelo para de sofrer adaptaes por um perodo, pelo menos
igual ao da janela mvel, e os pesos retornam aos valores iniciais, obtidos no treinamento
offline.
Alguns aspectos merecem uma anlise futura. Por exemplo, recomenda-se uma
anlise comparativa da performance do controlador proposto com um controlador
preditivo com um modelo semi-emprico.
125
o controlador, pois o distrbio mais significativo (liberao parcial dos produtos de
pirlise para aliviar a presso do reator) poderia ser inferido atravs da queda de presso e
temperatura do reator.
O processo de pirlise operado em regime semibatelada poderia ser visto como
um problema de controle multivarivel, atravs do controle da presso e da temperatura
do reator. Esse um outro estudo que deve ser conduzido em trabalhos futuros.
Sugere-se a aplicao da estratgia de controle proposta em outros processos
operados em batelada ou semibatelada, com modelos de difcil identificao e que sofrem
alteraes na sua dinmica ao longo do tempo, como o caso dos bioprocessos.
Captulo 8
8 Bibliografia
ARENA, U., MASTELLONE, M.L. The Phenomenology of Bed Defluidization During
the Pyrolysis of Food-Packing Plastic Waste, Powder Technology, v. 120, p. 127
133, 2001.
ASTRM, K.J. Theory and Applications of Adaptive Control A Survey, Automatica,
v.19, n. 5, p. 471 486, 1983.
BADGWELL, T.A. Robust Model Predictive Control of Stable Linear Systems,
International Journal of Control, v. 68, p. 797 818, 1997.
127
BRDYS, M.A.; KULAWSKI, G.J., QUEVEDO, J. - Recurrent Networks for Nonlinear
Adaptive Control, IEE Proceedings-Control Theory and Applications, v. 145, N
2, p. 177 - 188, 1998.
VAN BREUSEGEM, V., THIBAULT, J., CHRUY, A. Adaptive Neural Models for
On-Line Prediction in Fermentation, The Canadian Journal of Chemical
Engineering, v. 69, p. 481 487, 1991.
128
DOMINGUEZ, A., BLANCO, C.G., BARRIOCANAL, C., ALVAREZ, R., DIEZ, M.A.
Gas Chromatographic Study of the Volatile Products from Co-Pyrolysis of Coal and
Polyethylene Wastes, Journal of Chromatography, v. 918, p. 135 144, 2001.
DOUGHERTY, D., COOPER, D. A Practical Multiple Model Adaptive Strategy for
Single-Loop MPC, Control Engineering Practice, 11, p. 141 159, 2003.
EDGAR, T.F., HIMMELBLAU, D.M. - Optimization of Chemical Process, International
Edition., 1989.
EDULJEE, G., CAINS, P. Control of Dioxin Emissions from Waste Combustors,
Filtration & Separation, july/august, p. 599 603, 1997.
FOLLY, R.; BERLIM, R.; SALGADO, A.; FRANA, R., VALDMAN, B. Adaptive
Control of Feed Load Changes in Alcohol Fermentation, Brazilian Journal of
Chemical Engineering, v. 14, N 04, p. 375 - 381, 1997.
129
GARCA, C.E., MORSHEDI, A.M. Quadratic Programming Solution of Dynamic
Matrix Control (QDMC), Chemical Engineering Communications, v. 46, p. 73
87, 1986.
HUSSAIN, M.A. - Review of the Applications of Neural Networks in Chemical Process
Control Simulation and Online Implementation, Artificial Intelligence in
Engineering, v. 13, p. 55 - 68, 1999.
ISLAM, M.N., ANI, F.N. Techno-Economics of Rice Husk Pyrolysis, Conversiont with
Catalytic Treatment to Produce Liquid Fuel, Bioresource Technology, v. 73, p. 67
75, 2000.
ISLAM, M.N., ZAILANI, R., ANI, F.N. Pyrolytic Oil from Fluidised Bed Pyrolysis of
Oil Palm Shell and Its Characterisation, Reneewable Energy, v. 73, n. 84, p. 73 84,
1999.
JANSE, A.M.C., WESTERHOUT, R.W.J., PRINS,W. Modelling of Flash Pyrolysis of
a Single Wood Particle, Chemical Engineering and Processing, v.39, p. 67 75,
2000.
KAILATH, T. Linear Systems. Englewood Cliffs, New Jersey: Prentice-Hall, 1980.
KALMAN, R.E. A New Approach to Linear Filtering and Predictions Problems,
Transactions of ASME, Journal of Basic Engineering, v.87, p. 35 45, 1960.
130
KIM, S.S., KIM, S.H. Pyrolysis Kinetics of Waste Automobile Lubricating Oil, Fuel, v.
79, p. 1943 1949, 2000.
KIM, B.R., PODSIADLIK, D.H.; YEH, D.H.; SALMEEN, I.T., BRIGGS, L.M.
Evaluating Conversion of na Automotive Paint Spray Booth Scrubber to na Activated
Sludge System for Removing Paint Volatile Organic Compound from Air. Water
Environment Research, 69 (7), 1211 1221, 1997.
KWONG, W.H. An Improved Simplified Model Predictive Control Algorithm and its
Application to a Continuous Fermenter, Brazilian Journal of Chemical
Engineering, v. 17, n. 2, 2000.
LANOUETTE, R.; THIBAULT, J., VALADE, J.L. Process Modeling with Neural
Networks Using Small Experimental Datasets, Computers & Chemical
Engineering, v 23, p. 1167 1176, 1999.
LEE, M., PARK, S. - A New Scheme Combining Neural Feedforward Control with
Model - Predictive Control. AIChE Jorunal, v. 38 N 2, p. 193 - 200, 1992.
LIMA, L.M.Q. Lixo Tratamento e Biorremediao. So Paulo (SP): Hemus
Editora Ltda., 1991.
LIMA, M.R.S. Projeto e Montagem de um Aparato Experimental para Pirlise,
Trabalho apresentado como parte dos requisitos para a obteno da aprovao na
disciplina de Estgio Supervisionado em Engenharia Qumica da Universidade de
Caxias do Sul. Caxias do Sul (RS): Universidade de Caxias do Sul, 1998.
LIN, K.S., WANG, H.P., LIU, S.H., CHANG, N.B., HUANG, Y.J., WANG, H.C.
Pyrolysis Kinectics of Refuse-Derived Fuel, Fuel Processing technology, v.60, p.
103 110, 1999.
LOPEZ, A.M., MURRIL, P.W., SMITH, C.L. Controller Tuning Reltionships Based on
Integral Performance Criteria, Instrumentation Technology, v. 14 p 57, 1976.
LOVETT, S.; BERRUTI, F., BEHIE, L.A. Ultrapyrolytic Upgrading of Plastics Wastes
and Plastics/Heavy Oil Mixtures to Valuable Light Gas Products, Ind. Eng. Chem.,
p.4436 4444, 1997.
131
MACHADO, R.A.F. Otimizao e Controle de Reatores de Polimerizao em Batelada,
Tese de Mestrado, Departamento de Engenharia Qumica, Universidade Federal de
Santa Catarina UFSC, Florianpolis, 1996.
MASTELLONE, M.L., ARENA, U. Fluidized-Bed Pyrolysis of Polyolefins Wastes:
Predictive Defluidization Model, AIChE Journal, v. 48, n. 7, p. 1439 1447, 2002.
MAZZUCCO, M.M. Implementao de um Controlador Preditivo Baseado em um
Modelo Neural Associado a um Sistema Especialista, Disertao de Mestrado,
Departamento de Engenharia Qumica, Universidade Federal de Santa Catarina
UFSC, Florianpolis, 1996.
MINGZHONG, L., FULI, W. - Adaptive Control of Black - Box Nonlinear Systems
Using Recurrent Neural Networks, Proceedings of 36th Conference on Decision &
Control, San Diego, California-EUA, dezembro de 1997.
MORARI, M., LEE, J.H. - Model Predictive Control: Past, Present and Future,
Computers and Chemical Engineering, v. 23, p. 667 - 682, 1999.
MUNIZ, L.A.R.; COSTA, A.R.; STEFFANI, E.; PALOSCHI, R., ZATTERA, A.J.
Aproveitamento de Resduos de EVA atravs de Pirlise. XXVII Congresso
Brasileiro de Sistemas Particulados, Campos do Jordo SP, 1999.
MUNIZ, L.A.R., COSTA, A.R., ESTEFFANI, E., ZATTERA, A., HOFSETZ, K.,
BOSSARDI, K., VALENTINI, L. A Study of Paint Sludge Deactivation by
132
Pyrolysis Reaction, Brazilian Journal of Chemical Engineering, v. 20, n. 01, p. 63
68, 2003.
NAHAS, E.P.; HENSON, M.A., SEBORG, D.E. Nonlinear Internal Model Control
Strategy for Neural Network Models, Computers & Chemical Engineering, v. 16,
N 12, p. 1039 - 1057, 1992.
NAKOUZI, S. ET AL. Novel Approach to Paint Sludge Recycling: Reclaiming of Paint
Sludge Components as Ceramic Composites and their Applications in Reinforcement
of Metals and Polymers, Journal of Materials Research, v. 13, N 1, 53 60, 1998.
NARENDRA, K.S., PARTHASARATHY, K. Identification and Control of Dynamical
Systems Using Neural Networks, IEEE Transactions on Neural Networks, v. 1, N
1, p. 4 27, 1990.
NOVICKI, R.E.M. ET AL. Retortagem de Pneus pelo Processo PETROSIX, Petrleo
Brasileiro S.A., 2000.
133
RICHALET, J.; RAULT, A.; TESTUD, J.L., PAPON, J. - Model Predictive Heuristic
Control: Applications to Industrial Processes, Automatica, v. 14, p. 413 - 428, 1978.
RITA, D.J. Controle de Processos Usando Redes Neurais Artificiais: Uma Aplicao
Experimental, Dissertao de mestrado, Departamento de Engenharia Qumica,
Universidade Federal de Santa Catarina UFSC, Florianpolis, 1995.
RIVALS, I., PERSONNAZ, L. Nonlinear Internal Model Control Using Neural
Networks: Application to Processes with Delay and Design Issues, IEEE
Transactions on Neural Networks, v. 11, N 1, p. 80 90, 2000.
SMITH, C.A., CORRIPIO, A.B. Principle and Practice of Automatic Process Control,
Second Edition, New York: John Wiley & Sons, 1997.
134
TURNER, P.; MONTAGUE, G., MORRIS, J. - Dynamic Neural Networks in Non Linear Predictive Control (an Industrial Application), Computers & Chemical
Engineering, v. 20, suppl., S937 - S942, 1996.
ZHANG, T., GE, S.S., HANG, C.C. Design and Performance Analysis of a Direct
Adaptive Controller for a Nonlinear Systems, Automatica, 35, p. 1809 1817, 1999.
ZHAO, H., GUIVER, J.P., SENTONI, G.B. An Identification Approach to Nonlinear
State Space Model for Industrial Multivariable Model Predictive Control,
Proceedings of the 1998 American Control Conference, p 796 800, 1998.
Anexo A 1
9 Efeito da Massa de Resduo Sobre o
Calor Fornecido ao Reator de Pirlise
Potncia Permanente (W)
(g)
444.24
500
506.64
800
723.68
455.18
452.82
643.07
672.48
500
551.23
662.26
800
550.67
865.56
500
638.22
927.32
800
362.12
454.67
975.40
700
648.11
662.43
600
568.03
638.99
Anexo A 2
Cdigo Computacional do Controlador
Preditivo Adaptativo
//Controle Preditivo Adaptativo
If ControleOtimo.Checked Then
Begin
//Inicializao da Trajetria da Varivel Controlada
Auxiliar
:= A_Normal*SP+B_Normal;
:= StrToFloat(eSetPoint.Text);
Tamanho_Janela_Movel:= StrToInt(eTamanho_Janela_Movel.Text);
Alfa
:= StrToFloat(eHC.Text);
Horizonte_Predicao := StrToInt(eHP.Text);
Lambda
Beta
:= StrToFloat(eB.Text);
:= StrToFloat(eA.Text);
Tsetpoint := A_Normal*SP+B_Normal;
//
// Atualizao da Janela Mvel
//
For i := Ordem_Var_Medida to 2 Do
Begin
Janela[1,i] := Janela[1,i-1];
End;
If Ordem_Var_Manipulada > 1 Then
137
Begin
For i := Ordem_Var_Manipulada to 2 Do
Begin
Janela[2,i] := Janela[2,i-1];
End;
End;
Janela[1,1] := A_Normal*Entrada[1] + B_Normal;
Janela[2,1] := 0.12*OutVolts[1]+0.2;
If Tempo = 0 Then yref[2] := Janela[1,1];
Tempo := Tempo + 1;
Auxiliar := yref[1];
yref[1] := yref[2];
If Tempo < 30 Then
Begin
Alfa := 0.9;
yref[1] := Janela[1,1];
If Tempo > 2 Then
Begin
If Auxiliar > yref[1] Then yref[1] := yref[2];
End;
End;
For l := 2 to Horizonte_Predicao Do
Begin
yref[l] := Alfa*yref[l-1]+(1-Alfa)*Tsetpoint;
End;
yrefgraf := (yref[1]-B_Normal)/A_Normal;
Series11.Add(SP);
Series13.Add((Predicao[1]-B_Normal)/A_Normal);
Series12.Add((yref[2]-B_Normal)/A_Normal);
138
//Algoritmo Adaptativo
//Treinamento On Line da Rede Neural
//Atualizao do Padro de Treinamento
For i := 1 to Tamanho_Janela_Movel Do
Begin
VetorAdaptacao[i,2] := VetorAdaptacao[i,1];
VetorAdaptacao[i,1] := VetorAdaptacao[i,4];
VetorAdaptacao[i,4] := VetorAdaptacao[i+1,4];
VetorAdaptacao[i,3] := VetorAdaptacao[i+1,3];
End;
VetorAdaptacao[Tamanho_Janela_Movel,4] := Janela[1,1];
VetorAdaptacao[Tamanho_Janela_Movel,3] := Janela[2,1];
If rbAdaptacao.Checked Then
Begin
If Amostra > Trunc(1.5*Tamanho_Janela_Movel) Then
Begin
//Treinamento da Rede Neural
//
//Clculo da direo de busca
//
delta_peso := 0.001;
passo
:= 0.0001;
139
For l := 1 to Horizonte_Predicao do
Begin
//
// Clculo da Sada dos Neurnios da Camada de Entrada}
//
If ( i + l < Tamanho_Janela_Movel) then
Begin
For j := 1 To Neuronios_Entrada Do
Begin
Ativacao[1,j] := At[j];
End;
// Clculo da Sada dos Neurnios da Camada Intermediria}
//
For j := 1 To Neuronios_Intermediario Do
Begin
soma_entrada := BiasAdaptacao[j];
For k := 1 To Neuronios_Entrada Do
Begin
soma_entrada := soma_entrada + Ativacao[1,k] * PesoAdaptacao[k,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
End;
For j := 1 To Neuronios_Saida Do
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For k := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria := soma_intermediaria + Ativacao[2,k] *
PesoAdaptacao[Neuronios_Entrada+j,k];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For k := Ordem_Var_Medida to 2 Do
Begin
At[k] := At[k-1];
End;
At[1] := Ativacao[3,1];
For k := Ordem_Var_Medida+1 to Neuronios_Entrada Do
140
Begin
At[k] := VetorAdaptacao [i+l,k];
End;
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+l-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+l1,Neuronios_Entrada+1]);
End;
End;
//
//Fim da Rede Neural
//
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao [1] := ObjetivoAdaptacao[1] + ObjetivoErro;
End;
End;
If Objetivo_Anterior[1] < ObjetivoAdaptacao[1] then
Begin
passo := passo/1.2;
End;
For l := 1 to Neuronios_Entrada do
Begin
For m := 1 to Neuronios_Intermediario do
Begin
PesoAdaptacao[l,m]:=PesoAdaptacao[l,m] + delta_peso;
ObjetivoAdaptacao[2]:=0;
For i := 1 To Tamanho_Janela_Movel Do
Begin
//Clculo da Rede Neural
For j := 1 to Neuronios_Entrada do
Begin
At[j] := VetorAdaptacao[i,j];
End;
ObjetivoErro := 0;
For n := 1 to Horizonte_Predicao do
Begin
//
// Clculo da Sada dos Neurnios da Camada de Entrada}
141
//
If ( i + n < Tamanho_Janela_Movel) then
Begin
For j := 1 To Neuronios_Entrada Do
Begin
Ativacao[1,j] := At[j];
End;
//
// Clculo da Sada dos Neurnios da Camada Intermediria}
//
For j := 1 To Neuronios_Intermediario Do
Begin
soma_entrada := BiasAdaptacao[j];
For k := 1 To Neuronios_Entrada Do
Begin
soma_entrada := soma_entrada + Ativacao[1,k] * PesoAdaptacao[k,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
End;
For j := 1 To Neuronios_Saida Do
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For k := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria
:=
soma_intermediaria
Ativacao[2,k]
PesoAdaptacao[Neuronios_Entrada+j,k];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For k := Ordem_Var_Medida to 2 Do
Begin
At[k] := At[k-1];
End;
At[1] := Ativacao[3,1];
For k := Ordem_Var_Medida+1 to Neuronios_Entrada Do
Begin
At[k] := VetorAdaptacao [i+n,k];
142
End;
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+n-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+n1,Neuronios_Entrada+1]);
End;
End;
// Fim da Rede Neural
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao [2] := ObjetivoAdaptacao[2] + ObjetivoErro;
End;
End;
PesoAdaptacao[l,m]:=PesoAdaptacao[l,m] - delta_peso;
derivada[1,l,m] := (ObjetivoAdaptacao[2] - ObjetivoAdaptacao[1])/(2*delta_peso);
End;
End;
//
//Clculo das Derivadas dos Pesos entre a Camada de Escondida e a Camada de Sada
//
For l := 1 to Neuronios_Intermediario do
Begin
For k := 1 to Neuronios_Saida do
Begin
PesoAdaptacao[k+Neuronios_Entrada,l]
:=
PesoAdaptacao[k+Neuronios_Entrada,l]
delta_peso;
ObjetivoAdaptacao[2] := 0;
For i := 1 To Tamanho_Janela_Movel Do
Begin
//Clculo da Rede Neural
For j := 1 to Neuronios_Entrada do
Begin
At[j] := VetorAdaptacao[i,j];
End;
ObjetivoErro := 0;
For n := 1 to Horizonte_Predicao do
Begin
//
// Clculo da Sada dos Neurnios da Camada de Entrada}
//
If ( i + n < Tamanho_Janela_Movel) then
143
Begin
For j := 1 To Neuronios_Entrada Do
Begin
Ativacao[1,j] := At[j];
End;
//
// Clculo da Sada dos Neurnios da Camada Intermediria}
//
For j := 1 To Neuronios_Intermediario Do
Begin
soma_entrada := BiasAdaptacao[j];
For m := 1 To Neuronios_Entrada Do
Begin
soma_entrada := soma_entrada + Ativacao[1,m] * PesoAdaptacao[m,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
End;
For j := 1 To Neuronios_Saida Do
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For m := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria
:=
soma_intermediaria
Ativacao[2,m]
PesoAdaptacao[Neuronios_Entrada+j,m];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For m := Ordem_Var_Medida to 2 Do
Begin
At[m] := At[m-1];
End;
At[1] := Ativacao[3,1];
For m := Ordem_Var_Medida+1 to Neuronios_Entrada Do
Begin
At[m] := VetorAdaptacao [i+n,m];
End;
144
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+n-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+n1,Neuronios_Entrada+1]);
End;
End;
// Fim da Rede Neural
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao[2] := ObjetivoAdaptacao[2] + ObjetivoErro;
End;
End;
PesoAdaptacao[k+Neuronios_Entrada,l]
:=
PesoAdaptacao[k+Neuronios_Entrada,l]
delta_peso;
derivada[2,l,k] := (ObjetivoAdaptacao[2] - ObjetivoAdaptacao[1])/(2*delta_peso);
End;
End;
For i := 1 to Neuronios_Entrada do
Begin
For j := 1 to Neuronios_Intermediario do
Begin
PesoAdaptacao[i,j] := PesoAdaptacao[i,j] - passo*derivada[1,i,j];
End;
End;
For i := 1 to Neuronios_Intermediario do
Begin
For j := 1 to Neuronios_Saida do
Begin
PesoAdaptacao[j+Neuronios_Entrada,l]
:=
PesoAdaptacao[j+Neuronios_Entrada,l]
passo*derivada[2,i,j];
End;
End;
End;
//
//Fim do Treinamento On Line (algoritmo adaptativo)
If Amostra > Trunc(1.5*Tamanho_Janela_Movel) Then
Begin
ledAdaptativo.Enabled := True;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
145
Begin
w[i,j] := PesoAdaptacao[i,j];
End;
End;
For i := 1 to Neuronios_Intermediario Do
Begin
Bias[i] := BiasAdaptacao[i];
End;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
w[i,j] := PesoAdaptacao[i,j];
End;
End;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
Bias[j] := BiasAdaptacao[j];
End;
End
Else
Begin
ledAdaptativo.Enabled := False;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
Begin
w[i,j] := PesoFixo[i,j];
End;
End;
For i := 1 to Neuronios_Intermediario Do
Begin
Bias[i] := BiasFixo[i];
End;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
w[i,j] := PesoFixo[i,j];
End;
146
End;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
Bias[j] := BiasFixo[j];
End;
End;
End
Else
Begin
ledAdaptativo.Enabled := False;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
Begin
PesoAdaptacao[i,j] := PesoFixo[i,j];
w[i,j] := PesoFixo[i,j];
end;
end;
For i := 1 to Neuronios_Intermediario Do
Begin
BiasAdaptacao[i] := BiasFixo[i];
end;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
PesoAdaptacao[i,j] := PesoFixo[i,j];
w[i,j] := PesoFixo[i,j];
end;
end;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
BiasAdaptacao[j] := BiasFixo[j];
end;
End;
End
Else
Begin
If Tempo > Trunc(1.5*Tamanho_Janela_Movel) Then
Begin
147
//Treinamento da Rede Neural
//
//Clculo da direo de busca
//
delta_peso := 0.001;
passo
:= 0.0001;
148
soma_entrada := soma_entrada + Ativacao[1,k] * PesoAdaptacao[k,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
End;
For j := 1 To Neuronios_Saida Do
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For k := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria := soma_intermediaria + Ativacao[2,k] *
PesoAdaptacao[Neuronios_Entrada+j,k];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For k := Ordem_Var_Medida to 2 Do
Begin
At[k] := At[k-1];
End;
At[1] := Ativacao[3,1];
For k := Ordem_Var_Medida+1 to Neuronios_Entrada Do
Begin
At[k] := VetorAdaptacao [i+l,k];
End;
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+l-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+l1,Neuronios_Entrada+1]);
End;
End;
//
//Fim da Rede Neural
//
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao [1] := ObjetivoAdaptacao[1] + ObjetivoErro;
End;
End;
149
If Objetivo_Anterior[1] < ObjetivoAdaptacao[1] then
Begin
passo := passo/1.2;
End;
For l := 1 to Neuronios_Entrada do
Begin
For m := 1 to Neuronios_Intermediario do
Begin
PesoAdaptacao[l,m]:=PesoAdaptacao[l,m] + delta_peso;
ObjetivoAdaptacao[2]:=0;
For i := 1 To Tamanho_Janela_Movel Do
Begin
//Clculo da Rede Neural
For j := 1 to Neuronios_Entrada do
Begin
At[j] := VetorAdaptacao[i,j];
End;
ObjetivoErro := 0;
For n := 1 to Horizonte_Predicao do
Begin
//
// Clculo da Sada dos Neurnios da Camada de Entrada}
//
If ( i + n < Tamanho_Janela_Movel) then
Begin
For j := 1 To Neuronios_Entrada Do
Begin
Ativacao[1,j] := At[j];
End;
//
// Clculo da Sada dos Neurnios da Camada Intermediria}
//
For j := 1 To Neuronios_Intermediario Do
Begin
soma_entrada := BiasAdaptacao[j];
For k := 1 To Neuronios_Entrada Do
Begin
soma_entrada := soma_entrada + Ativacao[1,k] * PesoAdaptacao[k,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
150
End;
For j := 1 To Neuronios_Saida Do
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For k := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria
:=
soma_intermediaria
Ativacao[2,k]
PesoAdaptacao[Neuronios_Entrada+j,k];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For k := Ordem_Var_Medida to 2 Do
Begin
At[k] := At[k-1];
End;
At[1] := Ativacao[3,1];
For k := Ordem_Var_Medida+1 to Neuronios_Entrada Do
Begin
At[k] := VetorAdaptacao [i+n,k];
End;
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+n-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+n1,Neuronios_Entrada+1]);
End;
End;
// Fim da Rede Neural
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao [2] := ObjetivoAdaptacao[2] + ObjetivoErro;
End;
End;
PesoAdaptacao[l,m]:=PesoAdaptacao[l,m] - delta_peso;
derivada[1,l,m] := (ObjetivoAdaptacao[2] - ObjetivoAdaptacao[1])/(2*delta_peso);
End;
End;
//
//Clculo das Derivadas dos Pesos entre a Camada de Escondida e a Camada de Sada
151
//
For l := 1 to Neuronios_Intermediario do
Begin
For k := 1 to Neuronios_Saida do
Begin
PesoAdaptacao[k+Neuronios_Entrada,l]
:=
PesoAdaptacao[k+Neuronios_Entrada,l]
delta_peso;
ObjetivoAdaptacao[2] := 0;
For i := 1 To Tamanho_Janela_Movel Do
Begin
//Clculo da Rede Neural
For j := 1 to Neuronios_Entrada do
Begin
At[j] := VetorAdaptacao[i,j];
End;
ObjetivoErro := 0;
For n := 1 to Horizonte_Predicao do
Begin
//
// Clculo da Sada dos Neurnios da Camada de Entrada}
//
If ( i + n < Tamanho_Janela_Movel) then
Begin
For j := 1 To Neuronios_Entrada Do
Begin
Ativacao[1,j] := At[j];
End;
//
// Clculo da Sada dos Neurnios da Camada Intermediria}
//
For j := 1 To Neuronios_Intermediario Do
Begin
soma_entrada := BiasAdaptacao[j];
For m := 1 To Neuronios_Entrada Do
Begin
soma_entrada := soma_entrada + Ativacao[1,m] * PesoAdaptacao[m,j];
End;
Ativacao[2,j] := 1 / (1 + exp(-soma_entrada));
End;
For j := 1 To Neuronios_Saida Do
152
Begin
soma_intermediaria := BiasAdaptacao[Neuronios_Intermediario+j];
For m := 1 To Neuronios_Intermediario Do
Begin
soma_intermediaria
:=
soma_intermediaria
Ativacao[2,m]
PesoAdaptacao[Neuronios_Entrada+j,m];
End;
//
//
//
Ativacao[3,j] := 1 / (1 + exp(-soma_intermediaria));
End;
For m := Ordem_Var_Medida to 2 Do
Begin
At[m] := At[m-1];
End;
At[1] := Ativacao[3,1];
For m := Ordem_Var_Medida+1 to Neuronios_Entrada Do
Begin
At[m] := VetorAdaptacao [i+n,m];
End;
ObjetivoErro
:=
ObjetivoErro
(At[1]-VetorAdaptacao[i+n-
1,Neuronios_Entrada+1])*(At[1]-VetorAdaptacao[i+n1,Neuronios_Entrada+1]);
End;
End;
// Fim da Rede Neural
For j := 1 To Neuronios_Saida Do
Begin
ObjetivoAdaptacao[2] := ObjetivoAdaptacao[2] + ObjetivoErro;
End;
End;
PesoAdaptacao[k+Neuronios_Entrada,l]
:=
PesoAdaptacao[k+Neuronios_Entrada,l]
delta_peso;
derivada[2,l,k] := (ObjetivoAdaptacao[2] - ObjetivoAdaptacao[1])/(2*delta_peso);
End;
End;
For i := 1 to Neuronios_Entrada do
Begin
For j := 1 to Neuronios_Intermediario do
153
Begin
PesoAdaptacao[i,j] := PesoAdaptacao[i,j] - passo*derivada[1,i,j];
End;
End;
For i := 1 to Neuronios_Intermediario do
Begin
For j := 1 to Neuronios_Saida do
Begin
PesoAdaptacao[j+Neuronios_Entrada,l]
:=
PesoAdaptacao[j+Neuronios_Entrada,l]
passo*derivada[2,i,j];
End;
End;
End;
//
//Fim do Treinamento On Line (algoritmo adaptativo)
//
If Tempo > Trunc(1.5*Tamanho_Janela_Movel) Then
Begin
ledAdaptativo.Enabled := True;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
Begin
w[i,j] := PesoAdaptacao[i,j];
End;
End;
For i := 1 to Neuronios_Intermediario Do
Begin
Bias[i] := BiasAdaptacao[i];
End;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
w[i,j] := PesoAdaptacao[i,j];
End;
End;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
Bias[j] := BiasAdaptacao[j];
154
End;
End
Else
Begin
ledAdaptativo.Enabled := False;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
Begin
w[i,j] := PesoFixo[i,j];
End;
End;
For i := 1 to Neuronios_Intermediario Do
Begin
Bias[i] := BiasFixo[i];
End;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
w[i,j] := PesoFixo[i,j];
End;
End;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
Bias[j] := BiasFixo[j];
End;
End;
End
Else
Begin
ledAdaptativo.Enabled := False;
For i := 1 to Neuronios_Entrada Do
Begin
For j := 1 to Neuronios_Intermediario Do
Begin
PesoAdaptacao[i,j] := PesoFixo[i,j];
w[i,j] := PesoFixo[i,j];
end;
end;
155
For i := 1 to Neuronios_Intermediario Do
Begin
BiasAdaptacao[i] := BiasFixo[i];
end;
For i := Neuronios_Entrada+1 To Neuronios_Entrada+Neuronios_Saida Do
Begin
For j := 1 To Neuronios_Intermediario Do
Begin
PesoAdaptacao[i,j] := PesoFixo[i,j];
w[i,j] := PesoFixo[i,j];
end;
end;
For j := Neuronios_Intermediario+1 to Neuronios_Intermediario+Neuronios_Saida Do
Begin
BiasAdaptacao[j] := BiasFixo[j];
end;
End;
End;
//Clculo da Aes de Controle
// Algoritmos Genticos
If (AlgoritmosGenticos1.Checked) Then
Begin
End;
//Fim do Algoritmo Gentico
//Mtodo Backpropagation No Adaptativo
If (Gradiente1.Checked) Then
Begin
End;
//Mtodo Backpropagation Adaptativo
If (Simplex1.Checked) Then
Begin
deltau := 0.05;
//Atualizao das Entradas da Rede
For i:= 1 to Ordem_Var_Medida Do
Begin
y[i] := Janela[1,i];
End;
For i := 1 to Ordem_Var_Manipulada Do
Begin
u[i] := Janela[2,i];
156
End;
erro[3] := erro[2];
erro[2] := yref[1] - A_Normal*Entrada[1] - B_Normal;
erro[1]:= y[1] - Predicao[1];
Objetivo[1] := Lambda*(0.12*OutVolts[1]+0.2-u[1])*(0.12*OutVolts[1]+0.2-u[1]);
//Clculo da rede neural
For j := 1 to Horizonte_Predicao Do
Begin
For i := 1 to Ordem_Var_Medida Do
Begin
At[i] := y[i];
End;
For i:= 1 to Ordem_Var_Manipulada Do
Begin
At[Ordem_Var_Medida+i] := u[i];
End;
For i:= 1 to Neuronios_Intermediario Do
Begin
Soma[i] := Bias[i];
For l := 1 to Neuronios_Entrada Do
Begin
Soma[i] := Soma[i] + At[l]*w[l,i];
End;
End;
For i:= Neuronios_Entrada+1 to Neuronios_Entrada+Neuronios_Intermediario Do
Begin
At[i] := 1/(1+ Exp(-Soma[i-Neuronios_Entrada]));
End;
Soma[Neuronios_Entrada+Neuronios_Intermediario+1] := Bias[Neuronios_Intermediario+1];
For i := 1 to Neuronios_Intermediario Do
Begin
Soma[Neuronios_Entrada+Neuronios_Intermediario+1]
:=
Soma[Neuronios_Entrada+Neuron
ios_Intermediario+1]
At[Neuronios_Entrada+i]
w[Neuronios_Entrada+1,i];
End;
At[Neuronios_Entrada+Neuronios_Intermediario+1] := 1/(1+Exp(-Soma[Neuronios_Entrada +
Neuronios_Intermediario+1]));
Predicao[j] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
157
Objetivo[1] := Objetivo[1] + Beta*(yref[j]-Predicao[j]-erro[1])*(yref[j]-Predicao[j]-erro[1]);
For i := Ordem_Var_Medida to 2 Do
Begin
y[i] := y[i-1];
End;
y[1] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
If Ordem_Var_Manipulada > 1 Then
Begin
For i := Ordem_Var_Manipulada to 2 Do
Begin
u[i] := u[i-1];
End;
End;
u[1] := acao_controle[1];
End;
//Fim da rede neural
//Clculo da ao de controle
For iteracao := 1 to 25000 Do
Begin
acao_controle[1] := acao_controle[1] + deltau;
Objetivo[1]
:=
Lambda*(0.12*OutVolts[1]+0.2-acao_controle[1])*(0.12*OutVolts[1]+0.2acao_controle[1]);
158
End;
for i:= 1 to Neuronios_Intermediario Do
begin
Soma[i] := Bias[i];
for m := 1 to Neuronios_Entrada Do
begin
Soma[i] := Soma[i] + At[m]*w[m,i];
end;
end;
for i:= Neuronios_Entrada+1 to Neuronios_Entrada+Neuronios_Intermediario Do
begin
At[i] := 1/(1+ Exp(-Soma[i-Neuronios_Entrada]));
end;
Soma[Neuronios_Entrada+Neuronios_Intermediario+1]
:=
Bias[Neuronios_I
ntermediario+1];
for i := 1 to Neuronios_Intermediario Do
begin
Soma[Neuronios_Entrada+Neuronios_Intermediario+1] := Soma[Neuronios_Entrada +
Neuronios_Intermediario+1]
+ At[Neuronios_Entrada+i] *
w[Neuronios_Entrada+1,i];
end;
At[Neuronios_Entrada+Neuronios_Intermediario+1] := 1/(1+Exp(-Soma[Neuronios_Entrada
+ Neuronios_Intermediario+1]));
Predicao[j] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
Objetivo[1] := Objetivo[1] + Beta*(yref[j]-Predicao[j]-erro[1])*(yref[j]-Predicao[j]-erro[1]);
For i := Ordem_Var_Medida to 2 Do
Begin
y[i] := y[i-1];
End;
y[1] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
If Ordem_Var_Manipulada > 1 Then
Begin
For i := Ordem_Var_Manipulada to 2 Do
Begin
u[i] := u[i-1];
End;
End;
u[1] := acao_controle[1];
159
end;
acao_controle[1] := acao_controle[1] - deltau;
acao_controle[1] := acao_controle[1] - deltau;
Objetivo_Back[1]
:=
Lambda*(0.12*OutVolts[1]+0.2-
acao_controle[1])*(0.12*OutVolts[1]+0.2-acao_controle[1]);
//Atualizao das Entradas da Rede
For i := 1 to Ordem_Var_Medida Do
Begin
y[i] := Janela[1,i];
End;
For i := 1 to Ordem_Var_Manipulada Do
Begin
u[i] := Janela[2,i];
End;
For j := 1 to Horizonte_Predicao Do
Begin
For i := 1 to Ordem_Var_Medida Do
Begin
At[i] := y[i];
End;
For i:= 1 to Ordem_Var_Manipulada Do
Begin
At[Ordem_Var_Medida+i] := u[i];
End;
for i:= 1 to Neuronios_Intermediario Do
begin
Soma[i] := Bias[i];
for m := 1 to Neuronios_Entrada Do
begin
Soma[i] := Soma[i] + At[m]*w[m,i];
end;
end;
for i:= Neuronios_Entrada+1 to Neuronios_Entrada+Neuronios_Intermediario Do
begin
At[i] := 1/(1+ Exp(-Soma[i-Neuronios_Entrada]));
end;
Soma[Neuronios_Entrada+Neuronios_Intermediario+1]
:=
Bias[Neuronios_I
ntermediario+1];
160
for i := 1 to Neuronios_Intermediario Do
begin
Soma[Neuronios_Entrada+Neuronios_Intermediario+1] := Soma[Neuronios_Entrada +
Neuronios_Intermediario+1]
At[Neuronios_Entrada+i]
w[Neuronios_Entrada+1,i];
end;
At[Neuronios_Entrada+Neuronios_Intermediario+1] := 1/(1+Exp(-Soma[Neuronios_Entrada
+ Neuronios_Intermediario+1]));
Predicao[j] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
Objetivo_Back[1]
:=
Objetivo_Back[1]
Beta*(yref[j]-Predicao[j]-erro[1])*(yref[j]-
Predicao[j]-erro[1]);
For i := Ordem_Var_Medida to 2 Do
Begin
y[i] := y[i-1];
End;
y[1] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
If Ordem_Var_Manipulada > 1 Then
Begin
For i := Ordem_Var_Manipulada to 2 Do
Begin
u[i] := u[i-1];
End;
End;
u[1] := acao_controle[1];
end;
acao_controle[1] := acao_controle[1] + deltau;
acao_controle[1] := acao_controle[1] - 0.001*(Objetivo[1] - Objetivo_Back[1])/deltau;
If acao_controle[1] > 0.8 then acao_controle[1] := 0.8;
If acao_controle[1] < 0.2 then acao_controle[1] := 0.205;
//Fim das Iteraes
End;
//Atualizao das Entradas da Rede
For i:= 1 to Ordem_Var_Medida Do
Begin
y[i] := Janela[1,i];
End;
For i := 1 to Ordem_Var_Manipulada Do
Begin
u[i] := acao_controle[1];
161
end;
//Clculo da rede neural
For j := 1 to Horizonte_Predicao Do
Begin
For i := 1 to Ordem_Var_Medida Do
Begin
At[i] := y[i];
End;
For i:= 1 to Ordem_Var_Manipulada Do
Begin
At[Ordem_Var_Medida+i] := u[i];
End;
for i:= 1 to Neuronios_Intermediario Do
begin
Soma[i] := Bias[i];
for l := 1 to Neuronios_Entrada Do
begin
Soma[i] := Soma[i] + At[l]*w[l,i];
end;
end;
for i:= Neuronios_Entrada+1 to Neuronios_Entrada+Neuronios_Intermediario Do
begin
At[i] := 1/(1+ Exp(-Soma[i-Neuronios_Entrada]));
end;
Soma[Neuronios_Entrada+Neuronios_Intermediario+1] := Bias[Neuronios_Intermediario+1];
for i := 1 to Neuronios_Intermediario Do
begin
Soma[Neuronios_Entrada+Neuronios_Intermediario+1]
:=
Soma[Neuronios_Entrada
Neuronios_Intermediario+1]
At[Neuronios_Entrada+i]
w[Neuronios_Entrada+1,i];
end;
At[Neuronios_Entrada+Neuronios_Intermediario+1] := 1/(1+Exp(-Soma[Neuronios_Entrada +
Neuronios_Intermediario+1]));
Predicao[j] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
For i := Ordem_Var_Medida to 2 Do
Begin
y[i] := y[i-1];
End;
y[1] := At[Neuronios_Entrada+Neuronios_Intermediario+1];
162
For i := Ordem_Var_Manipulada to 2 Do
Begin
u[i] := u[i-1];
End;
u[1] := acao_controle[1];
end;
//Fim da rede neural
Series14.Clear;
Series15.Clear;
Series16.Clear;
Series17.Clear;
For i := 1 to Horizonte_Predicao Do
Begin
Series14.Add(Predicao[i]+erro[1]);
Series15.Add(yref[i]);
Series16.Add(acao_controle[1]);
Series17.Add(erro[1]);
End;
//Implementao da ao de controle
OutVolts[1] := (acao_controle[1]-0.2)/0.12;
If OutVolts[1] > 5 Then OutVolts[1] := 5;
If OutVolts[1] <= 0 Then OutVolts[1] := 0.1;
Saida := 20*Volts;
End;
//Mtodo de Rosenbrock
IF (Rosenbrock1.Checked) Then
Begin
End;
//Fim do Mtodo de Rosenbrock
//Um Passo a Frente
IF (Umpassoafrente1.Checked) Then
Begin
End;
End;
Anexo A 3
Influncia Qualitativa da Temperatura e
do Tempo de Reao nos Produtos
Gasosos da Pirlise de Borra de Tinta
Produtos
Temperatura de
Tempo de
Reao (C)
Reao (min)
Ar
CH4
C2H6
C2H4
C2H2
C3H8
C3H6
450
10
31,91
4,38
1,89
10,23
49,12
1,69
0,78
650
10
15,28
43,54
5,9
2,88
27,61
3,39
1,4
450
90
32,17
6,46
2,68
7,56
47,52
2,27
1,35
650
90
15,43
42,40
3,61
2,92
33,61
1,02
1,02
550
50
19,21
23,43
10,14
6,01
33,74
3,54
3,92
550
50
21,17
23,04
8,95
5,23
35,19
3,06
3,36
Anexo A 4
Influncia Qualitativa da Temperatura e
do Tempo de Reao nos Produtos
Lquidos da Pirlise de Borra de Tinta
Produtos
Tempo
Temperatura
de Reao (C)
de
Reao Parafinas
(min)
Olefina
s
Naftnicos
Aromticos
Cetonas
ster
lcool
Outros
450
10
2.70
0.00
0.00
63.80
16.61
13.11
2.84
0.95
650
10
2.97
0.00
0.00
65.98
10.60
11.34
7.23
1.87
450
90
1.61
0.00
0.00
67.23
11.62
10.84
7.93
0.77
650
90
4.91
0.00
0.00
71.11
8.43
9.16
10.08
1.23
550
50
0.00
0.00
0.00
63.35
11.99
14.53
4.36
0.86
550
50
0.00
0.00
0.00
73.81
6.41
10.99
7.63
1.16
Anexo A 5
Caracterizao Fsica do leo Obtido
pela Pirlise da Borra de Tinta
Temperatura
Tempo
Poder Calorfico
Viscosidade
Massa Especfica
Ponto de
(C)
(min)
Inferior (cal/g)
(cSt)
(g/cm)
Fulgor (C)
450
90
9222.20
64.18
0.888
25
550
90
9296.44
28.61
0.877
23
650
90
9725.14
30.31
0.916
20
Anexo A 6
Influncia da Temperatura e Tempo de
Batelada Sobre o Rendimento do leo de
Pirlise da Borra de Tinta